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

股票开盘、收盘、最低及最高价K线图:Python代码翻译与技术问询

如何用Python绘制股票K线图(展示开盘价/收盘价/最高价/最低价)

嘿,我来帮你实现这个需求——用Python获取股票的开盘价(Open)、收盘价(Close)、最高价(High)、**最低价(Low)**数据,并绘制交互式K线图。下面是完整的可运行方案,细节都给你标清楚了:

第一步:安装依赖库

首先确保你安装了所有需要的工具包,在终端执行以下命令:

pip install pandas-datareader plotly fix-yahoo-finance

第二步:完整代码实现

这段代码会获取麦当劳(股票代码MCD)2005年7月的股票数据,并生成红绿配色的K线图:

from pandas_datareader import data as pdr
import plotly.offline as py_offline
import plotly.graph_objs as go
import fix_yahoo_finance as yf

# 初始化Plotly离线模式,支持在Jupyter Notebook中渲染图表
py_offline.init_notebook_mode(connected=True)
# 修复pandas_datareader与Yahoo Finance的兼容性问题
yf.pdr_override()

# 获取指定时间段的股票数据,返回的DataFrame包含核心价格字段
mcd = pdr.get_data_yahoo("MCD", start="2005-07-01", end="2005-07-31")

# 创建K线图对象,绑定开盘/最高/最低/收盘价,并设置涨跌颜色
mcd_candle = go.Candlestick(
    x=mcd.index,  # X轴为日期
    open=mcd.Open,  # 开盘价数据
    high=mcd.High,  # 最高价数据
    low=mcd.Low,  # 最低价数据
    close=mcd.Close,  # 收盘价数据
    increasing=dict(line=dict(color='#00FF00')),  # 上涨K线用绿色
    decreasing=dict(line=dict(color='#FF0000'))   # 下跌K线用红色
)

# 组合图表数据
data = [mcd_candle]

# 配置图表布局,提升可读性
layout = go.Layout(
    title='麦当劳(MCD)2005年7月股票K线图',
    xaxis=dict(title='交易日期'),
    yaxis=dict(title='股价(单位:美元)'),
    hovermode='x unified'  # 悬停时显示同一日期的所有价格信息
)

# 生成并展示交互式图表
fig = go.Figure(data=data, layout=layout)
py_offline.iplot(fig)

关键代码解释

  • 数据获取部分:pdr.get_data_yahoo是从Yahoo Finance拉取股票数据的核心方法,返回的mcd是一个DataFrame,其中:
    • Open:每日开盘价
    • High:当日最高价
    • Low:当日最低价
    • Close:当日收盘价
  • K线图配置:go.Candlestick是Plotly专门用于绘制K线的组件,通过increasing和decreasing参数可以自定义涨跌K线的颜色,让走势一目了然
  • 离线渲染:py_offline.iplot可以在本地环境(比如Jupyter Notebook)中生成交互式图表,支持缩放、悬停查看详情等操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:25:37