python金融分析小知识(14)——matplotlib多子图绘制(结合股票收盘价数据)

Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助!

今天给大家讲解一下我平时在进行数据可视化的时候经常使用到的内容——子图的绘制,相信大家在平时的可视化结果展示的时候需要绘制多个图,那么这种绘制多子图的方法怎么样才能在python中实现呢?

首先准备好要用的数据,我们通过pandas进行读取:

import pandas as pd
data = pd.read_excel('万得全A收盘价.xlsx',index_col=0,parse_dates=[0])
data

我们打印一下结果看看,这个数据其实就是每日股票交易的收盘价:

	          close
Date	
2013-01-07	2235.9000
2013-01-08	2234.0900
2013-01-09	2236.1500
2013-01-10	2245.0500
2013-01-11	2204.1400
...	...
2022-03-31	5095.6079
2022-04-01	5131.5835
2022-04-06	5128.8027
2022-04-07	5039.9453
2022-04-08	5042.1172
2249 rows × 1 columns

下面介绍我经常用到的子图绘制的三种方法:

1.使用 subplots

import matplotlib.pyplot as plt
fig, ax = plt.subplots(2, 2, figsize=(12,8)) #我们定义子图的2x2的情况,也就是4个子图
ax[0,0].plot(data['close'], color='b') #ax[0,0]其实相当于进行定位
ax[0,1].plot(data['close'], color='r')
ax[1,0].plot(data['close'], color='g')
ax[1,1].plot(data['close'], color='m')

这里我们要注意ax[0,0],ax[0,1]等等其实是在进行子图的定位,我们定义的是2x2的子图,其中第一个子图的“坐标”就是(0,0),第二个子图的“坐标”就是(0,1),第三个子图的“坐标”就是(1,0),第四个子图的“坐标”就是(1,1),我们来看看结果,成功绘制四个子图:

 2.使用subplot

import matplotlib.pyplot as plt
plt.figure(figsize=(12,8))
plt.subplot(2,2,1) #相当于定位 进入第一个子图
plt.plot(data['close'], color='b')
plt.subplot(2,2,2) #相当于定位 进入第二个子图
plt.plot(data['close'], color='r')
plt.subplot(2,2,3)
plt.plot(data['close'], color='g')
plt.subplot(2,2,4)
plt.plot(data['close'], color='m')

我们同样绘制2x2的子图,需要注意plt.subplot(2,2,1)也是相当于确定了子图数量为2x2,并且进入第一个子图,plt.subplot(2,2,2)为进入第二个子图,plt.subplot(2,2,3)为进入第三个子图,plt.subplot(2,2,4)为进入第四个子图,我们来看看结果,成功绘制四个子图:

3.使用subplot2grid 

import matplotlib.pyplot as plt
plt.figure(figsize=(12,8))
ax0 = plt.subplot2grid(shape=(2, 2), loc=(0, 0)) #rowspan=1跨越的行数
ax1 = plt.subplot2grid(shape=(2, 2), loc=(0, 1))
ax2 = plt.subplot2grid(shape=(2, 2), loc=(1, 0))
ax3 = plt.subplot2grid(shape=(2, 2), loc=(1, 1))

ax0.plot(data['close'], color='b')
ax1.plot(data['close'], color='r')
ax2.plot(data['close'], color='g')
ax3.plot(data['close'], color='m')

 我们同样绘制2x2的子图,需要注意loc=(0,0)相当于是在定位第一个子图,loc=(0,1)相当于是在定位第二个子图,loc=(1,0)相当于是在定位第三个子图,loc=(1,1)相当于是在定位第四个子图,这一点与subplots相似,我们来看看结果,成功绘制四个子图:

以上内容我们通过三种方法绘制了相同的子图,大家可以选择自己所喜欢的方法即可。

今天的文章就分享到这里啦! 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君子以自强不息python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值