如何用Python绘制K线图

📅 2026/7/10 8:49:46
如何用Python绘制K线图
最近做数据分析的时候我总想把行情数据可视化看看K线图是最直观的一种方式。我最开始只是想看看历史价格的变化没想到慢慢弄下来画K线成了一件挺有意思的事情。Python里其实有挺多方式可以做操作简单但能把数据“活”起来那种感觉挺让人上瘾的。数据准备我平时会先把历史行情数据整理成CSV结构简单日期、开盘、收盘、最高、最低、成交量。大概像这样dateopenhighlowclosevolume2026-05-01100.5102.099.8101.2500002026-05-02101.2103.5100.0102.845000读取和处理数据很直接用pandas就够了importpandasaspddf pd.read_csv(data.csv, parse_dates[date])df.set_index(date, inplaceTrue)print(df.head())这里要注意K线绘图库通常需要日期作为索引否则图会画不出来或者显示异常。基础K线图最初我只想看看开盘价和收盘价的变化使用绘图库画出来就行importmplfinanceasmpfmpf.plot(df, typecandle, volumeTrue)几行代码就能得到完整K线下面还有成交量柱状图红绿颜色默认对应涨跌非常直观。看到图那一刻感觉数据真的“动”起来了。增加均线观察趋势观察数据的时候我喜欢加均线这样趋势一眼就看得清楚。比如5日和20日均线mpf.plot(df, typecandle, volumeTrue, mav(5,20))均线交叉、短期与中期趋势都一目了然。图表风格也可以调整让可视化更舒服mpf.plot(df, typecandle, volumeTrue, mav(5,20), styleyahoo)风格多了挑自己喜欢的就行。颜色、线条粗细都可以自定义完全可以按照需求调整。不同时间周期对比有时候想同时看日线和周线就要先处理数据。pandas的resample非常方便weekly df.resample(W).agg({open:first,high:max,low:min,close:last,volume:sum})mpf.plot(weekly, typecandle, volumeTrue, mav(5,20))这样就能看到周线K线走势对比日线变化做趋势分析会更直观。小技巧我发现K线图不仅能看涨跌还能顺便观察成交量变化、均线交叉情况对策略或分析非常有帮助。最关键的是数据要干净列名、索引一定要对齐否则图画不出来或者结果乱。我一般习惯在分析前先看看历史数据图再结合均线和成交量做判断。K线图出来的那一刻总觉得数据有了生命比单看数字直观多了也更容易发现规律。