首页 > python教程

matplotlib.subplot()画子图并共享y坐标轴的方法

时间:2021-06-30 python教程 查看: 1295

有时候想要把几张图放在一起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博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持python博客!

展开全文
上一篇:python3 实现在运行的时候隐藏命令窗口
下一篇:Matplotlib绘制子图的常见几种方法
输入字:
相关知识
Python 实现图片色彩转换案例

我们在看动漫、影视作品中,当人物在回忆过程中,体现出来的画面一般都是黑白或者褐色的。本文将提供将图片色彩转为黑白或者褐色风格的案例详解,感兴趣的小伙伴可以了解一下。

python初学定义函数

这篇文章主要为大家介绍了python的定义函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助,希望能够给你带来帮助

图文详解Python如何导入自己编写的py文件

有时候自己写了一个py文件,想要把它导入到另一个py文件里面,所以下面这篇文章主要给大家介绍了关于Python如何导入自己编写的py文件的相关资料,需要的朋友可以参考下

python二分法查找实例代码

二分算法是一种效率比较高的查找算法,其输入的是一个有序的元素列表,如果查找元素包含在列表中,二分查找返回其位置,否则返回NONE,下面这篇文章主要给大家介绍了关于python二分法查找的相关资料,需要的朋友可以参考下