此问题在此处已有答案:
matplotlib: overlay plots with different scales?(5个答案)
Secondary axis with twinx(): how to add to legend?(11个答案)
三年前关闭了。
如何在Matplotlib中实现多个尺度?我不是在谈论同一个x轴上绘制的主坐标轴和次坐标轴,而是在同一个y轴上绘制不同尺度的趋势,并且可以通过它们的颜色来识别。
例如,如果要绘制trend1 ([0,1,2,3,4])
和trend2 ([5000,6000,7000,8000,9000])
与时间的关系图,并希望这两个趋势具有不同的颜色、Y轴和不同的比例,那么如何使用Matplotlib来实现这一点?
当我调查Matplotlib时,他们说他们现在还没有这个,尽管它肯定在他们的愿望清单上,有什么办法让它发生吗?
有没有其他的python绘图工具可以做到这一点?
3条答案
按热度按时间3yhwsihp1#
如果我理解了这个问题,您可能会对Matplotlib库中的this example感兴趣。
Yann上面的评论提供了一个类似的例子。
编辑-修复了上面的链接。从Matplotlib库复制了相应的代码:
mf98qq942#
由于Steve Tjoa's answer总是第一个出现,而且当我在Google上搜索多个y轴时,几乎是孤独的,所以我决定添加一个稍微修改过的版本,这就是this matplotlib example的方法。
理由:
mpl_toolkits.axisartist
,mpl_toolkits.axes_grid1
)。ddrv8njm3#
如果你想用辅助Y轴快速绘图,那么使用Pandas Package 器函数和2行代码有更简单的方法。只需绘制第一列,然后绘制第二列,但要使用参数
secondary_y=True
,如下所示:这将类似于以下内容:
你也可以做一些其他的事情。看看Pandas绘图文档。