股票开盘、收盘、最低及最高价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
相关产品推荐
相关产品推荐

