使用pandas,可以在一个图上绘制2个系列,其中包括:
Y1.plot()
Y2.plot(secondary_y=True)
它给出了:
Y1
Y2
如何仅对matplotlib执行相同操作(不使用pandas)?
答案 0 :(得分: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()
编辑,您可以在没有面向对象的方法(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-')
这确实消除了OO方法的所有好处,并且不太清楚您将要绘制哪些轴等等。