You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求实现蜡烛图百分比打印及顶部/底部数值标注功能

蜡烛图百分比数值实现与标注方案

1. 打印每个蜡烛图的百分比数值

先计算每根蜡烛的涨跌幅百分比,再遍历数据输出:

  • 计算公式:涨跌幅百分比 = (收盘价 - 开盘价) / 开盘价 * 100
  • 代码示例(基于Python pandas):
import pandas as pd

# 加载K线数据(替换为你的实际数据源)
df = pd.read_csv('kline_data.csv', parse_dates=['Date'], index_col='Date')
# 确保数据包含Open、Close字段
df['percent_change'] = (df['Close'] - df['Open']) / df['Open'] * 100

# 逐行打印百分比数值
for idx, row in df.iterrows():
    print(f"K线[{idx}]: 涨跌幅 {row['percent_change']:.2f}%")

2. 在蜡烛图顶部/底部标注百分比数值

可以实现,以mplfinance库为例,通过标注函数将百分比文本添加到蜡烛的顶部(上涨K线)或底部(下跌K线):

  • 代码示例:
import mplfinance as mpf

# 生成格式化的标注文本
annot_texts = [f"{p:.2f}%" for p in df['percent_change']]

# 定义标注逻辑
def annotate_candles(ax, kline_data, texts):
    for i in range(len(kline_data)):
        # 上涨K线标注在顶部,下跌K线标注在底部
        y_pos = kline_data['High'].iloc[i] if kline_data['Close'].iloc[i] > kline_data['Open'].iloc[i] else kline_data['Low'].iloc[i]
        ax.annotate(texts[i], 
                    xy=(kline_data.index[i], y_pos),
                    xytext=(0, 6),  # 文本偏移量
                    textcoords='offset points',
                    fontsize=7,
                    ha='center')

# 绘制蜡烛图并添加标注
fig, axes = mpf.plot(df, type='candle', figsize=(12,6), returnfig=True)
annotate_candles(axes[0], df, annot_texts)
mpf.show()

实现后,每根蜡烛会根据涨跌方向,在对应位置显示涨跌幅百分比,与示例效果一致。

内容的提问来源于stack exchange,提问作者chprot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 07:15:34