使用Matplotlib在Python中使用两个不同的Y轴进行绘图

兰尼·凯兹(Lanny Kayz)

以下面的代码为例,我创建一个名为dataset的数据框。

value1 = np.random.random(100)*30
value2 = np.random.random(100)*30
value3 = np.random.random(100)*30
value4 = np.random.random(100)*1000

dataset = pd.DataFrame({'value1': value1, 'value2': value2, 'value3': value3, 'value4': value4}, columns=['value1', 'value2', 'value3', 'value4'])

dataset[['value1', 'value2', 'value3']].plot(figsize=(20,10), linewidth=2, fontsize = 20, grid=True, marker="o", label='a').legend(loc='upper center', bbox_to_anchor=(0.5, -0.12),
           ncol=12, prop={'size': 16});

dataset['value4'].plot(secondary_y=True, legend=True, linewidth=2, marker="o",)


plt.xlabel('Year',fontsize=20)
plt.ylabel('(b)',fontsize=20)

我在2轴上绘制此数据集,但由于某些原因,仅打印了右侧的轴,而左侧的轴没有打印,并且不确定为什么。

其次,我也试图查看value1,2,3如何响应变量4(value4),所以我希望显示如下图所示的图。在图像上,我们可以看到图表底部有变量4,其余部分在顶部,因此我们可以清楚地看到变量4的上升或下降如何影响变量1,2,3。当前,显示屏显示所有变量混合在一起,但是我希望它看起来像下面的图像。

任何帮助都会很棒,谢谢

在此处输入图片说明

初学者

您的代码是正确的。它们分别在两个轴的范围内绘制。如果要将其与期望的输出匹配,可以使用ax1.set_ylim(-30,30)ax 2.set_ylim(0,4000)

ax1 = dataset[['value1', 'value2', 'value3']].plot(figsize=(20,10),
                                             linewidth=2, fontsize = 20,
                                             grid=True, marker="o", label='a')
ax1.legend(loc='upper center', bbox_to_anchor=(0.5, -0.12), ncol=12, prop={'size': 16});

ax2 = dataset['value4'].plot(secondary_y=True,legend=True, linewidth=2, marker="o",)

ax1.set_ylim(-30,30)
ax2.set_ylim(0,4000)

ax1.set_xlabel('Year',fontsize=20)
ax2.set_ylabel('(b)',fontsize=20)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

模拟使用两个GPU使用OPENGL进行绘图

来自分类Dev

模拟使用两个GPU使用OPENGL进行绘图

来自分类Dev

在同一图上绘制两个直方图(使用相同的y轴)和线图(使用不同的y轴)

来自分类Dev

将两列转换为两个列表以使用Python进行绘图

来自分类Dev

在matplotlib中使用2个不同的y轴时,如何制作平方图?

来自分类Dev

使用JFreeChart为两个系列设置不同的y轴

来自分类Dev

如何使用两个重排轴设置matplotlib的背景?

来自分类Dev

用numpy分隔数组以在python中使用matplotlib进行绘图

来自分类Dev

用numpy分隔数组以在python中使用matplotlib进行绘图

来自分类Dev

有没有办法在MATPLOTLIB中使两个轴带有不同的标签?

来自分类Dev

使用Python库绘制共享相同y轴的两个水平条形图

来自分类Dev

从两个不同位置进行编织时,在Rmarkdown中使用相对路径

来自分类Dev

在Matlab中使用卷积对两个不同长度的序列进行互相关

来自分类Dev

如何通过在django中使用两个不同的日期进行过滤来获取数据?

来自分类Dev

从两个不同位置进行编织时,在Rmarkdown中使用相对路径

来自分类Dev

在Elasticsearch中使用两个不同的字段进行搜索查询

来自分类Dev

在python中使用两个for循环

来自分类Dev

CorePlot:2个Y轴使用不同的绘图空间-格式问题

来自分类Dev

在两个不同的活动中使用两个不同的startActivityForResult

来自分类Dev

用matplotlib对齐两个y轴刻度的问题

来自分类Dev

用matplotlib对齐两个y轴刻度的问题

来自分类Dev

在多个 matplotlib 子图上共享两个 y 轴

来自分类Dev

运行过程在不同的终端中使用两个CPU

来自分类Dev

使用两个不同的域进行验证

来自分类Dev

使用滑块进行错误绘图(python matplotlib)

来自分类Dev

使用Matplotlib进行实时绘图的Python

来自分类Dev

尝试在python django中使用不同的键映射两个对应的值

来自分类Dev

如何在python中使用两个不同的数据框?

来自分类Dev

如何在odoo python文件中使用两个不同的rec_name

Related 相关文章

  1. 1

    模拟使用两个GPU使用OPENGL进行绘图

  2. 2

    模拟使用两个GPU使用OPENGL进行绘图

  3. 3

    在同一图上绘制两个直方图(使用相同的y轴)和线图(使用不同的y轴)

  4. 4

    将两列转换为两个列表以使用Python进行绘图

  5. 5

    在matplotlib中使用2个不同的y轴时,如何制作平方图?

  6. 6

    使用JFreeChart为两个系列设置不同的y轴

  7. 7

    如何使用两个重排轴设置matplotlib的背景?

  8. 8

    用numpy分隔数组以在python中使用matplotlib进行绘图

  9. 9

    用numpy分隔数组以在python中使用matplotlib进行绘图

  10. 10

    有没有办法在MATPLOTLIB中使两个轴带有不同的标签?

  11. 11

    使用Python库绘制共享相同y轴的两个水平条形图

  12. 12

    从两个不同位置进行编织时,在Rmarkdown中使用相对路径

  13. 13

    在Matlab中使用卷积对两个不同长度的序列进行互相关

  14. 14

    如何通过在django中使用两个不同的日期进行过滤来获取数据?

  15. 15

    从两个不同位置进行编织时,在Rmarkdown中使用相对路径

  16. 16

    在Elasticsearch中使用两个不同的字段进行搜索查询

  17. 17

    在python中使用两个for循环

  18. 18

    CorePlot:2个Y轴使用不同的绘图空间-格式问题

  19. 19

    在两个不同的活动中使用两个不同的startActivityForResult

  20. 20

    用matplotlib对齐两个y轴刻度的问题

  21. 21

    用matplotlib对齐两个y轴刻度的问题

  22. 22

    在多个 matplotlib 子图上共享两个 y 轴

  23. 23

    运行过程在不同的终端中使用两个CPU

  24. 24

    使用两个不同的域进行验证

  25. 25

    使用滑块进行错误绘图(python matplotlib)

  26. 26

    使用Matplotlib进行实时绘图的Python

  27. 27

    尝试在python django中使用不同的键映射两个对应的值

  28. 28

    如何在python中使用两个不同的数据框?

  29. 29

    如何在odoo python文件中使用两个不同的rec_name

热门标签

归档