45

使用 Pandas 在 I-Python Notebook 中绘图,我有几个绘图,因为 Matplotlib 决定 Y 轴,所以它设置不同,我们需要使用相同的范围比较这些数据。我已经尝试了几种变体:(我假设我需要对每个图应用限制..但由于我无法让一个工作...从 Matplotlib 文档看来我需要设置 ylim,但可以不知道这样做的语法。

df2250.plot(); plt.ylim((100000,500000)) <<<< if I insert the ; I get int not callable and  if I leave it out I get invalid syntax. anyhow, neither is right...
df2260.plot()
df5.plot()
4

2 回答 2

64

Pandas plot() 返回坐标轴,你可以用它来设置 ylim 。

ax1 = df2250.plot()
ax2 = df2260.plot()
ax3 = df5.plot()

ax1.set_ylim(100000,500000)
ax2.set_ylim(100000,500000)
etc...

您还可以将轴传递给 Pandas 绘图,因此可以将其绘制在相同的轴上,如下所示:

ax1 = df2250.plot()
df2260.plot(ax=ax1)
etc...

如果您想要很多不同的图,预先定义轴并在一个图中可能是给您最大控制权的解决方案:

fig, axs = plt.subplots(1,3,figsize=(10,4), subplot_kw={'ylim': (100000,500000)})

df2260.plot(ax=axs[0])
df2260.plot(ax=axs[1])
etc...
于 2013-07-22T12:24:30.070 回答
64

我猜这是 2013 年接受此答案后添加的功能;DataFrame.plot() 现在公开了一个ylim设置 y 轴范围的参数:

df.plot(ylim=(0,200))

有关详细信息,请参阅熊猫文档

于 2018-03-25T09:09:58.090 回答