
在技术分析中,K线图(蜡烛图)和移动平均线是最基础也最常用的工具。今天,我们来解析一段来自clcoding.com的代码,看看如何用Python绘制“K线+均线”的组合图表。
1 df["MA"] = df["Close"].rolling(3).mean()
这一行计算收盘价的3日简单移动平均线(MA3)。rolling(3).mean()表示取当前行及前两行(共3行)的收盘价平均值,作为当日的MA值。
1 plt.figure()
初始化一个新的图表窗口。
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线的“影线”部分。
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))1 plt.plot(df["Day"], df["MA"])
将日期(Day)与计算好的MA值连成一条折线,即移动平均线。
1 2 3 4 plt.title("Candlestick Type Chart with Moving Average")plt.xlabel("Day")plt.ylabel("Price")plt.show()
设置标题、坐标轴标签,并显示图表。
根据图片下方提供的坐标信息:
这是一个简化的示例数据集,实际使用时需要替换为真实的股票或交易数据(包含Open、High、Low、Close、Day列)。
plt.vlines一次性绘制所有垂直线。这种手动实现K线图的方法虽然基础,但能帮助我们深入理解K线图的构成原理。在实际项目中,也可以直接使用mplfinance等专业库快速绘制,但掌握底层逻辑对技术分析的理解大有裨益。