如何在 Matplotlib 中创建烛台图?
烛台图是一种可视化股票市场数据的流行方式。它们显示给定时间段内股票或证券的开盘价、收盘价、最高价和最低价。烛台图由一系列垂直条或"烛台"组成,其中每个烛台代表一个时间段。每个烛台的顶部和底部代表该期间交易的最高价和最低价,而烛台的主体代表开盘价和收盘价。
在本教程中,我们将探索使用 Matplotlib(Python 中流行的数据可视化库)创建一周股票价格烛台图的代码。
我们将使用 Pandas 库创建一个表示股票价格的 DataFrame,然后使用 Matplotlib 的条形图函数绘制烛台。
要创建烛台图,我们使用一种特定的语法,该语法涉及使用 Matplotlib 中的 plt.bar 方法。
plt.bar 创建条形图
plt.bar 是 Matplotlib 库中的一个函数,可用于在 Python 中创建条形图。它需要几个参数,包括 x 轴值、y 轴值、条形宽度和条形颜色。您可以使用此函数创建水平和垂直条形图,并且可以自定义条形的外观以满足您的需求。
以下是 plt.bar 的语法。
plt.bar(up.index,up.close-up.open,bottom=up.open,color) "up"数据框包含收盘价大于或等于开盘价的股票价格。 plt.bar(down.index, down.close - down.open, bottom=down.open, color) "down"数据框包含收盘价低于开盘价的股票价格。
示例:Matplotlib 中的蜡烛图
现在让我们探索下面显示的代码。此代码使用 Python 中的 matplotlib 库创建一个蜡烛图来表示股票一周的开盘价、收盘价、最高价和最低价。
首先,创建一个 Pandas DataFrame 来存储本周的股票价格。然后,创建两个新的 DataFrame - "up"存储收盘价大于或等于开盘价的股票价格,"down"存储收盘价低于开盘价的股票价格。
接下来,定义蜡烛的颜色:"绿色"表示股价上涨,"红色"表示股价下跌。还设置了烛台元素的宽度。
然后,使用 plt.bar 方法在图表上绘制股价上涨和下跌,其中底部参数指定每个条形图的起点。x 轴刻度标签向右旋转 45 度,以获得更好的可视性。最后,为图表添加标题、x 标签、y 标签,并使用 plt.show() 显示。
import pandas as pd import matplotlib.pyplot as plt # 创建一个 DataFrame 来表示股票一周的开盘价、收盘价、最高价和最低价 # stock_prices = pd.DataFrame({'open': [60, 70, 80, 90, 100, 110, 120], 'close': [55, 85, 75, 100, 95, 120, 105], 'high': [70, 95, 85, 110, 105, 120, 125], 'low': [50, 60, 70, 80, 85, 105, 100]}, index=pd.date_range("2023-04-01", periods=7, freq="d")) plt.figure() # 创建一个名为"up"的新 DataFrame,用于存储 stock_prices # 当收盘价大于或等于开盘价时 up = stock_prices[stock_prices.close >= stock_prices.open] # 创建一个名为"down"的新 DataFrame,用于存储 stock_prices # 当收盘价小于开盘价时 down = stock_prices[stock_prices.close < stock_prices.open] # 当股价下跌时,将用红色烛台表示 # 当股价上涨时,将用绿色烛台表示 col2 = 'green' # 设置烛台元素的宽度 width = 0.4 width2 = 0.05 # 绘制股票上涨价格 plt.bar(up.index, up.close-up.open, width, bottom=up.open, color=col2) plt.bar(up.index, up.high-up.close, width2, bottom=up.close, color=col2) plt.bar(up.index, up.low-up.open, width2, bottom=up.open, color=col2) # 绘制股票下跌价格 plt.bar(down.index, down.close-down.open, width, bottom=down.open, color=col1) plt.bar(down.index, down.high-down.open, width2, bottom=down.open, color=col1) plt.bar(down.index, down.low-down.close, width2, bottom=down.close, color=col1) # 将 x 轴刻度标签向右旋转 45 度 plt.xticks(rotation=45, ha='right') # 显示一周股票数据的烛台图 plt.title('一周股票价格') plt.xlabel('日期') plt.ylabel('价格 (USD)') plt.show()
输出
执行后,您将获得以下烛台图:
结论
总之,在 Matplotlib 中创建烛台图可以成为可视化股票市场数据的强大工具。通过使用不同的颜色和宽度,还可以传达有关股票价格随时间变化的更多信息。按照本教程中概述的步骤,您可以创建自己的烛台图并深入了解市场趋势和股票表现。