在同一个IPython Notebook单元中制作多个图表
我已经开始我的IPython笔记本
ipython notebook --pylab inline
这是我在一个单元格中的代码
df['korisnika'].plot() df['osiguranika'].plot()
这工作正常,它会画两条线,但在同一张图上。
我想画一个单独的图表上的每一行。 如果图表彼此相邻而不是一个接一个,那就太好了。
我知道我可以把第二行放在下一个单元格中,然后我会得到两个图表。 但是我希望这些图表彼此接近,因为它们表示相同的逻辑单元。
首先制作多轴,并将它们传递给pandas图function,如:
fig, axs = plt.subplots(1,2) df['korisnika'].plot(ax=axs[0]) df['osiguranika'].plot(ax=axs[1])
它仍然给你一个数字,但有两个不同的情节彼此相邻。
另一种方式,多样化。 虽然这比其他的稍微灵活一些。 不幸的是,这些graphics显示为一个在另一个之上,而不是并排,你在原来的问题中要求。 但它非常简洁。
df.plot(subplots=True)
如果数据框有两个以上的序列,而你只想绘制这两个序列,则需要用df[['korisnika','osiguranika']]
replacedf[['korisnika','osiguranika']]
。
我不知道这是否是新的function,但是这将在单独的数字上绘制:
df.plot(y='korisnika') df.plot(y='osiguranika')
而这将在同一个图上绘制:(就像操作中的代码一样)
df.plot(y=['korisnika','osiguranika'])
我发现这个问题是因为我使用前一种方法,并希望他们在同一个图上绘图,所以你的问题实际上是我的答案。
像这样的东西:
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()