当前位置:首页>python>手把手教你用Python绘制带均线的K线图

手把手教你用Python绘制带均线的K线图

  • 2026-09-22 09:05:47
手把手教你用Python绘制带均线的K线图

在技术分析中,K线图(蜡烛图)和移动平均线是最基础也最常用的工具。今天,我们来解析一段来自clcoding.com的代码,看看如何用Python绘制“K线+均线”的组合图表。

📊 代码逐行解析

1. 计算移动平均线

1

df["MA"] = df["Close"].rolling(3).mean()

这一行计算收盘价的3日简单移动平均线(MA3)。rolling(3).mean()表示取当前行及前两行(共3行)的收盘价平均值,作为当日的MA值。

2. 创建画布

1

plt.figure()

初始化一个新的图表窗口。

3. 绘制K线的影线(高低点)

1
2
3

for i in range(len(df)):    plt.plot([df["Day"][i], df["Day"][i]],             [df["Low"][i], df["High"][i]])

循环遍历每一天,用一条垂直线连接当日的最低价(Low)和最高价(High),这就是K线的“影线”部分。

4. 绘制K线的实体(开盘-收盘)

1
2
3

plt.bar(df["Day"][i],        abs(df["Close"][i] - df["Open"][i]),        bottom=min(df["Open"][i], df["Close"][i]))

这里用柱状图(bar)来模拟K线的“实体”:

  • • 宽度:固定(默认值)
  • • 高度:开盘价与收盘价之差的绝对值(abs(Close - Open))
  • • 底部起点(bottom):取开盘价和收盘价中较小的那个,这样柱体就能从低价延伸到高价

5. 绘制移动平均线

1

plt.plot(df["Day"], df["MA"])

将日期(Day)与计算好的MA值连成一条折线,即移动平均线。

6. 添加图表信息

1
2
3
4

plt.title("Candlestick Type Chart with Moving Average")plt.xlabel("Day")plt.ylabel("Price")plt.show()

设置标题、坐标轴标签,并显示图表。

📈 示例数据说明

根据图片下方提供的坐标信息:

  • • X轴(Day):1, 2, 3, 4, 5, 6, 7, 8
  • • Y轴(Price):100, 102, 104, 106, 108, 110

这是一个简化的示例数据集,实际使用时需要替换为真实的股票或交易数据(包含Open、High、Low、Close、Day列)。

💡 改进建议

  1. 1. 代码效率:循环绘制每条影线效率较低,可用plt.vlines一次性绘制所有垂直线。
  2. 2. 颜色区分:可以根据收盘价相对于开盘价的涨跌(阳线/阴线)给实体设置不同颜色。
  3. 3. 数据校验:确保数据按日期排序,否则移动平均线会失真。

这种手动实现K线图的方法虽然基础,但能帮助我们深入理解K线图的构成原理。在实际项目中,也可以直接使用mplfinance等专业库快速绘制,但掌握底层逻辑对技术分析的理解大有裨益。

从零构建人工智能:一篇文章彻底搞懂人工神经元
还没听过“信息熵”?那是你离理解数字世界只差这一步
Kali Linux集成Claude AI:用自然语言进行渗透测试的新时代

最新文章

随机文章