进行观察还是需要用图表表示,这时候叠图就很好用。之前都一张一张画,现在呈现叠图的方式。
本日程序码使用:d12_MarketTransInfo_pic.ipynb
这次我们要从StockTransactionInfo
取得资料:
# 取得资料库的资料
df = pandas.read_sql("SELECT * FROM StockTransactionInfo WHERE TradeDate >'2021-09-01'", con=conn)
conn.close() # 关闭连线
取得资料後,存在df
参数中,然後我们先画出每日加权指数的图和每日的交易金额的图。
首先是加权指数的图,直接把X轴资料使用df["TradeDate"]
,Y轴资料使用df["Taiex"]
:
# 画图
plt.plot(df["TradeDate"], df["Taiex"],"r") # (x轴资料, y轴资料, 线的颜色)
plt.title("Taiex", {"fontsize":15}) # 设定图的标题及文字大小
产生的图片就会长这样:
接着是画每日的交易量,X轴资料不变,把Y轴资料改成df["TranscationAmount"]
:
# 画图
plt.plot(df["TradeDate"], df["TranscationAmount"],"b") # (x轴资料, y轴资料, 线的颜色)
plt.title("TranscationAmount", {"fontsize":15}) # 设定图的标题及文字大小
因此会画出:
这样做成两张图,虽然很简单,但是很难比较之间的关系,因此就需要合并图表,也就是叠图的概念。
首先要制作子图,也就是使用plt.subplots()
,然後把这两个图表都放在这里面,最後画出大图把这两个子图一同呈现。
所以先制作框架:
fig, ax1 = plt.subplots()
plt.title("Taiex point & Amount")
plt.xlabel("date")
ax2 = ax1.twinx()
然後做出第一张表,是用折线图的方式呈现加权指数。其中的线和字都是蓝色的:
ax1.set_ylabel("Taiex", color="blue")
ax1.plot(df["TradeDate"], df["Taiex"], color="blue", alpha=1)
ax1.tick_params(axis="y", labelcolor="blue")
第二张表,是用长条图表示,这样比较清楚辨别两个不同的资料,而这边的资料是用红色呈现,并且有透明度。
ax2.set_ylabel("Amount", color="r")
ax2.bar(df["TradeDate"], df["TranscationAmount"], color="r", alpha=0.5) # alpha: 增加透明度
ax2.tick_params(axis="y", labelcolor="r")
最後再画出来:
fig.tight_layout()
plt.show()
结果就是这样,一目了然:
这边除了让我们更了解数据,也熟悉一下matplotlib
的画图功能,因为叠图观察比一张张分开看更容易理解,可以验证我们确认讯号灯的逻辑。
tags: ItIron2021 Javascript 前言 终於迈入第10天啦! 我们昨天讲完资料...
昨天讲完的CSS的文字和区块属性後,今天要接续介绍版面布局的属性,以及一个非常好用的布局容器 - F...
工程师太师了: 第11.5话 杂记: 有许多幸福企业(养猪场)会提供下午茶,让员工在下午处理繁复工作...
前言 Hi, 我是鱼板伯爵今天要介绍Const,利用它来宣告一些重复使用且不变的值,教学内容只会撷取...
https://pythonprogramminglanguage.com/text-to-spee...