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



所有评论(0)