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

Cufflinks绘制OHLC图表时注释y轴位置与设置不匹配问题

问题根因

Cufflinks add_annotations 接口在OHLC/K线图表下,注释默认采用画布比例坐标作为y轴参考系(即yref='paper'),值域固定为0-1,分别对应绘图区的底部和顶部,和主图的价格y轴坐标系完全不匹配,因此传入的实际价格值会被错误映射,导致y轴位置偏移。x轴默认绑定时间轴实际坐标,因此位置显示正常。

问题复现效果:
注释y轴位置偏移的OHLC图

修复方法

在每个注释配置项中显式添加yref: 'y'参数,指定注释参考主价格y轴的实际数值坐标即可,建议同时显式指定xref: 'x',避免多子图场景下x轴匹配异常。

修正后代码
qf=cf.QuantFig(
    df,
    title=f'{symbol} - {date}',
    name=symbol,
    theme='pearl',
    up_color='green',
    down_color='red',
)
qf.add_annotations(
    [
        {
            'x': idx_high,
            'y': df.loc[idx_high]['high'],
            'text': f'High: {df.loc[idx_high]["high"]}',
            'showarrow':False,
            'textangle': 0,
            'xref': 'x',
            'yref': 'y'
        },
        {
            'x': idx_low,
            'y': df.loc[idx_low]['low'],
            'text': f'Low: {df.loc[idx_low]["low"]}',
            'showarrow':False,
            'textangle': 0,
            'xref': 'x',
            'yref': 'y'
        },
    ]
)
f = qf.figure()
f.show()

补充:如果后续添加成交量、技术指标等副图,主价格轴的参考标识仍为y,副图y轴参考标识依次为y2、y3,给对应子图添加注释时修改yref参数即可匹配正确坐标系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 05:21:23