2016-02-29 253 views
1

随着大熊猫一个Y轴,它可以绘制一个单一的图2系列,具有:一个X轴,一个y轴的左边,右边

Y1.plot() 
Y2.plot(secondary_y=True) 

它提供:

  • 一个共同的x轴
  • 一个y轴在左侧为上右Y1
  • 一个y轴为Y2

如何仅使用matplotlib(不使用熊猫)?

enter image description here

回答

2

您可以使用twinx。请参阅example here

简单:

import matplotlib.pyplot as plt 

fig,ax1 = plt.subplots(1) 

ax2 = ax1.twinx() 

ax1.plot([0,1,2,3,4],[0,1,2,3,4],'ro-') 
ax2.plot([0,1,2,3,4],[400,300,200,100,0],'b-') 

plt.show() 

enter image description here


编辑,你可以没有面向对象的方法(fig,ax等)实现这一目标。第一绘图功能后调用plt.twinx将创建新的双轴,其后续的绘图活动将在

import matplotlib.pyplot as plt 

plt.plot([0,1,2,3,4],[0,1,2,3,4],'ro-') 
plt.twinx() 
plt.plot([0,1,2,3,4],[400,300,200,100,0],'b-') 

这被绘制并虽然删除了面向对象方法的所有优点,并成为其轴你会不太清楚被密谋等等。

+0

太棒了!如果没有'fig,ax1 = plt.subplots(1) ',可以使用较短的代码吗? – Basj

+2

当然,请参阅我的编辑。尽管如此,你确实会失去很多便利 – tom

相关问题