如何在Matplotlib中实现多个量表?我不是在谈论相对于相同x轴绘制的主轴和次轴,而是像许多趋势一样,在相同的y轴上绘制了不同的尺度,并且可以通过它们的颜色来识别 .
例如,如果我要对时间绘制 trend1 ([0,1,2,3,4])
和 trend2 ([5000,6000,7000,8000,9000])
并希望两个趋势具有不同的颜色和Y轴,不同的比例,我如何使用Matplotlib实现此目的?
当我调查Matplotlib时,他们说他们现在没有这个,虽然它肯定在他们的心愿单上,有没有办法实现这一目标?
是否有任何其他的python绘图工具可以实现这一目标?
4 回答
如果你想用辅助Y轴做非常快速的绘图,那么使用Pandas包装函数和仅仅2行代码就有了更简单的方法 . 只需绘制第一列,然后绘制第二列,但使用参数
secondary_y=True
,如下所示:这看起来如下所示:
你也可以做更多的事情 . 看看Pandas plotting doc .
使用@joe-kington's回答:
快速引导某些内容以绘制共享x轴的多个y轴
如果我理解了这个问题,您可能会对Matplotlib库中的this example感兴趣 .
Yann上面的评论提供了一个类似的例子 .
编辑 - 上面的链接已修复 . 从Matplotlib库复制的相应代码:
因为当我在谷歌搜索多个y轴时,Steve Tjoa's answer总是首先出现并且大部分是孤独的,所以我决定添加一个稍微修改过的版本的答案 . 这是this matplotlib example的方法 .
原因:
在未知的情况下,他的模块有时会失败,而且内部错误也很神秘 .
我不知道(
mpl_toolkits.axisartist
,mpl_toolkits.axes_grid1
) .下面的代码包含了人们经常偶然发现的更明确的问题命令(例如多个轴的单个图例,使用viridis,......)而不是隐式行为 .