matplotlib.subplot()画子图并共享y坐标轴的方法
有时候想要把几张图放在一起plot,比较好对比,subplot和subplots都可以实现,具体对比可以查看参考博文。这里用matplotlib库的subplot来举个栗子。
数据长什么样
有两个数据段,第一个数据是DataFrame类型,第二个是ndarray类型。每个数据都有3列,我想画1*3的折线子图,第一个数据的第n列和第二个数据的第n列画在一张子图上。先来看一下两个数据长什么样儿(为显示方便,只看前5行)。
In [1]: testing_set.head() # DataFrame类型 Out [1]: Open High Low 0 778.81 789.63 775.80 1 788.36 791.34 783.16 2 786.08 794.48 785.02 3 795.26 807.90 792.20 4 806.40 809.97 802.83 # ndarray类型 In [2]: predicted_stock_price #这里就只看前5行 Out [2]: [[790.6911 796.39215 779.3191 ] [790.24524 796.0866 778.9673 ] [789.5737 795.52606 778.3751 ] [790.1047 796.10864 778.92395] [790.8686 796.94104 779.7281 ]]
实现过程
注:plt.setp()是用来共享y坐标轴
# 创建画布
fig = plt.figure(figsize = (30,10), dpi = 80)
# 子图1
ax1 = plt.subplot(131)
ax1.set_title('Open Price')
ax1.plot(testing_set.values[:,0], color = 'red', label = 'Real Open Price')
ax1.plot(predicted_stock_price[:,0], color = 'blue', label = 'Predicted Open Price')
plt.setp(ax1.get_xticklabels(), fontsize=6)
ax1.legend()
# 子图2
ax2 = plt.subplot(132,sharey=ax1)
ax2.set_title('High Price')
ax2.plot(testing_set.values[:,1], color = 'red', label = 'Real High Price')
ax2.plot(predicted_stock_price[:,1], color = 'blue', label = 'Predicted High Price')
ax2.legend()
# 子图3
ax3 = plt.subplot(133,sharey=ax1)
ax3.set_title('Low Price')
ax3.plot(testing_set.values[:,2], color = 'red', label = 'Real Low Price')
ax3.plot(predicted_stock_price[:,2], color = 'blue', label = 'Predicted Low Price')
ax3.legend()
plt.show()
结果:

到此这篇关于matplotlib.subplot()画子图并共享y坐标轴的方法的文章就介绍到这了,更多相关matplotlib.subplot()子图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python使用seaborn绘图直方图displot,密度图,散点图
这篇文章主要介绍了python使用seaborn绘图直方图displot,密度图,散点图,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下2022-07-07
Python如何操作office实现自动化及win32com.client的运用
这篇文章主要介绍了Python如何操作office实现自动化及win32com.client的运用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-04-04
Python中threading模块的Lock和RLock区别详解
这篇文章主要介绍了Python中threading模块的Lock和RLock区别详解,Lock锁是Python的原始锁,在锁定时不属于任何一个线程,在调用了 lock.acquire() 方法后,进入锁定状态,lock.release()方法可以解锁,底层是通过一个函数来实现的,需要的朋友可以参考下2023-09-09
Python中使用matplotlib模块errorbar函数绘制误差棒图实例代码
在matplotlib中,errorbar方法用于绘制带误差线的折线图,下面这篇文章主要给大家介绍了关于Python中使用matplotlib模块errorbar函数绘制误差棒图的相关资料,需要的朋友可以参考下2022-08-08


最新评论