我已经用
启动了我的IPython笔记本ipython notebook --pylab inline
这是我在一个单元格中的代码
df['korisnika'].plot()
df['osiguranika'].plot()
这样工作正常,它会绘制两条线,但在同一图表上。
我想在单独的图表上绘制每一行。 如果图表彼此相邻,而不是一个接一个,那就太好了。
我知道我可以将第二行放在下一个单元格中,然后我会得到两个图表。但我希望这些图表彼此接近,因为它们代表了相同的逻辑单元。
答案 0 :(得分:77)
您还可以在每个绘图后调用show()函数。 e.g
plt.plot(a)
plt.show()
plt.plot(b)
plt.show()
答案 1 :(得分:72)
首先制作多个轴并将它们传递给Pandas绘图功能,如:
fig, axs = plt.subplots(1,2)
df['korisnika'].plot(ax=axs[0])
df['osiguranika'].plot(ax=axs[1])
它仍然给你1个数字,但是彼此相邻有两个不同的图。
答案 2 :(得分:7)
另一种方式,多样化。虽然这比其他人灵活性稍差。不幸的是,这些图表是一个在另一个之上,而不是并排显示,您在原始问题中请求了这些图表。但它非常简洁。
df.plot(subplots=True)
如果数据框有两个以上的系列,并且您只想绘制这两个系列,则需要将df
替换为df[['korisnika','osiguranika']]
。
答案 3 :(得分:6)
这样的事情:
import matplotlib.pyplot as plt
... code for plot 1 ...
plt.show()
... code for plot 2...
plt.show()
请注意,如果您使用seaborn
包进行绘图,这也会有效:
import matplotlib.pyplot as plt
import seaborn as sns
sns.barplot(... code for plot 1 ...) # plot 1
plt.show()
sns.barplot(... code for plot 2 ...) # plot 2
plt.show()
答案 4 :(得分:1)
我不知道这是否是新功能,但这将在不同的数字上绘制:
df.plot(y='korisnika')
df.plot(y='osiguranika')
虽然这将绘制在同一图上:(就像操作中的代码一样)
df.plot(y=['korisnika','osiguranika'])
我发现了这个问题,因为我使用的是前一种方法,并希望它们在同一个图上绘图,所以你的问题实际上是我的答案。