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

Plotly如何将Candlestick蜡烛图与气泡散点图叠加并自定义气泡样式

可以实现,你只需要针对散点图部分做如下调整即可:

  • 先从源数据中筛选出value不为空的子集,仅对有数值的记录生成气泡
  • 配置散点的marker参数:根据value正负分别设置绿色/红色,气泡大小与value绝对值挂钩
  • 散点需要绑定和蜡烛图一致的y2轴,避免坐标错位

修改后代码如下:

# 筛选value不为空的气泡专用数据子集
df_bubble = df.dropna(subset=['value']).copy()

# 原有蜡烛图代码无需修改
fig.add_trace(
    go.Candlestick(x=df['date'],
                open=df['open'],
                high=df['high'],
                low=df['low'],
                close=df['close'],
                yaxis= "y2"  
            ), 
        row = 1, col=2
    )

# 调整后的散点气泡代码
fig.add_trace(go.Scatter(
    x=df_bubble['date'], 
    y = df_bubble['close'],
    mode='markers',
    marker=dict(
        # 气泡大小,可根据实际展示需求调整缩放系数
        size = abs(df_bubble['value'])/10,
        # 按value正负设置颜色,正值为绿负值为红
        color = ['green' if v > 0 else 'red' for v in df_bubble['value']],
        # 可选配置:增加透明度和边框,优化视觉效果
        opacity = 0.6,
        line = dict(width=1, color='DarkSlateGrey')
    ),
    yaxis='y2' # 和蜡烛图共用y轴,保证坐标匹配
             ),
        row = 1, col=2
    )

如果需要实现悬停时展示value数值,可以在go.Scatter参数中新增text=df_bubble['value']配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:06:00