Matplotlib子批次问题

Matplotlib子批次问题,matplotlib,subplot,Matplotlib,Subplot,我正在努力将一个数据框中的不同数据列绘制成3个不同的子图 所有数据都落入第三个子批次,没有数据落入第二个子批次,以此类推 # Set up the axes with gridspec fig = plt.figure(figsize=(10, 10)) grid = plt.GridSpec(2, 4, wspace=1.0, hspace=0.2) fig_ax1 = fig.add_subplot(grid[0, :2]) fig_ax1.set_title('Graph 1') fig

我正在努力将一个数据框中的不同数据列绘制成3个不同的子图

所有数据都落入第三个子批次,没有数据落入第二个子批次,以此类推

# Set up the axes with gridspec
fig = plt.figure(figsize=(10, 10))
grid = plt.GridSpec(2, 4, wspace=1.0, hspace=0.2)

fig_ax1 = fig.add_subplot(grid[0, :2])
fig_ax1.set_title('Graph 1')
fig_ax1 = df['VARIABLE A'].hist(bins=30, color='purple')


fig_ax2 = fig.add_subplot(grid[0, 2:])
fig_ax2.set_title('Graph 2')
fig_ax2 = df.plot.scatter(x='VARIABLE B',y='VARIABLE A', c='Red')

fig_ax3 = fig.add_subplot(grid[1, 0:])
fig_ax3.set_title('Graph 3')
fig_ax3 = df['VARIABLE B'].hist(bins=30, orientation='horizontal')

我想这是我声明要绘制的数据的每个图形的最终语句。如何解决此问题?

您需要将
ax
作为参数传递给pandas plot命令。默认情况下,pandas使用“当前ax”创建绘图。返回此
ax
,以便于进行调整。如果事先已经创建了自己的
ax
,则需要将其作为
ax=
参数传递

熊猫文档在“瞄准多个轴”下的中对此进行了解释

从matplotlib导入pyplot作为plt
作为pd进口熊猫
将numpy作为np导入
df=pd.DataFrame({'VARIABLE A':np.random.randn(100),'VARIABLE B':np.random.randn(100)})
图=plt.图(图尺寸=(10,10))
grid=plt.GridSpec(2,4,wspace=1.0,hspace=0.2)
图ax1=图添加子批次(网格[0,:2])
图ax1.集合标题(“图1”)
df['VARIABLE A'].hist(料仓=30,颜色='purple',ax=fig_ax1)
fig_ax2=fig.add_子批次(网格[0,2:])
图ax2.集合标题(“图2”)
df.plot.scatter(x='VARIABLE B',y='VARIABLE A',c='Red',ax=fig_ax2)
图ax3=图add子图(网格[1,0:])
图ax3.集合标题(“图3”)
df['VARIABLE B'].hist(料仓=30,方向=水平,ax=图ax3)
plt.show()

非常感谢约翰!这是真的-抱歉,我以前没能弄清楚ax=部件(虽然我在谷歌上搜索答案是徒劳的),但现在这已经非常清楚了!非常感谢!