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

为带移动平均线的股票K线图添加浅蓝色成交量

带成交量模块的苹果股票K线图(含SMA均线)

下面是修改后的代码,新增了浅蓝色的成交量展示模块,通过子图布局将K线/均线与成交量上下排列:

import plotly.graph_objects as go
from plotly.subplots import make_subplots
import pandas as pd

# 加载数据
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')

# 计算移动平均线
df['SMA30'] = df['AAPL.Close'].rolling(30).mean()
df['SMA100'] = df['AAPL.Close'].rolling(100).mean()

# 创建2行1列的子图布局,共享X轴并缩小垂直间距
fig = make_subplots(rows=2, cols=1, shared_xaxes=True, 
                    vertical_spacing=0.03, subplot_titles=('AAPL K线与均线', '成交量'))

# 添加K线图到上方子图
fig.add_trace(go.Candlestick(x=df['Date'],
                             open=df['AAPL.Open'],
                             high=df['AAPL.High'],
                             low=df['AAPL.Low'],
                             close=df['AAPL.Close'], name='K线'),
              row=1, col=1)

# 添加SMA30均线到上方子图
fig.add_trace(go.Scatter(x=df.Date, y=df.SMA30, line=dict(color='orange', width=1), name='SMA30'),
              row=1, col=1)

# 添加SMA100均线到上方子图
fig.add_trace(go.Scatter(x=df.Date, y=df.SMA100, line=dict(color='red', width=3), name='SMA100'),
              row=1, col=1)

# 添加浅蓝色成交量柱状图到下方子图
fig.add_trace(go.Bar(x=df['Date'], y=df['AAPL.Volume'], marker_color='lightblue', name='成交量'),
              row=2, col=1)

# 调整整体布局
fig.update_layout(height=800, title_text='苹果股票走势与成交量', showlegend=False)
# 隐藏X轴的滑动缩放条,优化显示
fig.update_xaxes(rangeslider_visible=False, row=1, col=1)
fig.update_xaxes(rangeslider_visible=False, row=2, col=1)

fig.show()

关键修改说明:

  • 用make_subplots构建2行1列的子图结构,共享X轴避免重复日期显示
  • 将K线、均线放在上方子图,成交量柱状图单独放在下方子图
  • 成交量柱子设置为lightblue浅蓝色,符合需求
  • 调整布局参数,隐藏X轴缩放条、设置子图标题,提升图表可读性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 16:47:17