我有一些Pandas dataframe共享相同的值尺度,但有不同的列和索引。当调用df.plot()时,我得到单独的plot图像。我真正想要的是把它们都放在同一个情节中,作为次要情节,但不幸的是,我没能想出一个解决方案,非常感谢一些帮助。
当前回答
下面是一个工作中的pandas子图示例,其中modes是数据框架的列名。
dpi=200
figure_size=(20, 10)
fig, ax = plt.subplots(len(modes), 1, sharex="all", sharey="all", dpi=dpi)
for i in range(len(modes)):
ax[i] = pivot_df.loc[:, modes[i]].plot.bar(figsize=(figure_size[0], figure_size[1]*len(modes)),
ax=ax[i], title=modes[i], color=my_colors[i])
ax[i].legend()
fig.suptitle(name)
其他回答
下面是一个工作中的pandas子图示例,其中modes是数据框架的列名。
dpi=200
figure_size=(20, 10)
fig, ax = plt.subplots(len(modes), 1, sharex="all", sharey="all", dpi=dpi)
for i in range(len(modes)):
ax[i] = pivot_df.loc[:, modes[i]].plot.bar(figsize=(figure_size[0], figure_size[1]*len(modes)),
ax=ax[i], title=modes[i], color=my_colors[i])
ax[i].legend()
fig.suptitle(name)
你可以用这个:
fig = plt.figure()
ax = fig.add_subplot(221)
plt.plot(x,y)
ax = fig.add_subplot(222)
plt.plot(x,z)
...
plt.show()
你可以看到eg。在证明joris答案的文件中。同样在文档中,你也可以在pandas plot函数中设置subplots=True和layout=(,):
df.plot(subplots=True, layout=(1,2))
你也可以使用fig.add_subplot()来获取子图网格参数,如221、222、223、224等。在这个ipython笔记本中可以看到pandas数据帧上的绘图(包括子绘图)的好例子。
您可能根本不需要使用Pandas。这是cat频率的matplotlib图:
x = np.linspace(0, 2*np.pi, 400)
y = np.sin(x**2)
f, axes = plt.subplots(2, 1)
for c, i in enumerate(axes):
axes[c].plot(x, y)
axes[c].set_title('cats')
plt.tight_layout()
您可以使用熟悉的Matplotlib样式调用图形和子图,但是您只需要使用plt.gca()指定当前轴。一个例子:
plt.figure(1)
plt.subplot(2,2,1)
df.A.plot() #no need to specify for first axis
plt.subplot(2,2,2)
df.B.plot(ax=plt.gca())
plt.subplot(2,2,3)
df.C.plot(ax=plt.gca())
等等……
推荐文章
- 使用python创建一个简单的XML文件
- APT命令行界面式的yes/no输入?
- 如何打印出状态栏和百分比?
- 在Python中获取大文件的MD5哈希值
- 在Python格式字符串中%s是什么意思?
- 如何循环通过所有但最后一项的列表?
- python用什么方法避免默认参数为空列表?
- ValueError: numpy。Ndarray大小改变,可能表示二进制不兼容。期望从C头得到88,从PyObject得到80
- Anaconda /conda -安装特定的软件包版本
- 我在哪里调用Keras的BatchNormalization函数?
- 打印测试执行时间并使用py.test锁定缓慢的测试
- 插入一行到熊猫数据框架
- 要列出Pandas DataFrame列
- 在Django模型中存储电话号码的最佳方法是什么?
- 从导入的模块中模拟函数