matplotlib 在一个图中循环绘制子图[重复]

c90pui9n  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(158)

此问题已在此处有答案

How to plot in multiple subplots(13个回答)
15天前关闭。
我有一个三角形框架,我想绘制每一列,但首先对列进行排序,所以我在一个循环中绘制。我想将所有的图合并组合成一个图,但结果是一个空图,后面有9个单独的条形图。

dfPlot=  df[['column 1','column 2',
                        'column 3','column 4','column 5','column 6',
                          'column 7','column 8','column 9']]
#fig, ax = plt.subplots(nrows=3, ncols=3,figsize=(8, 8))
plt.subplots(figsize=(16,8)) # optional
count=1
for i in dfPlot.columns:
    ds= dfPlot.sort_values(i, ascending=False)
    plt.figure()
    plt.subplot(3, 3,count) 
    #ds[i].plot(kind='bar')
    plt.bar(ds.index,ds[i])
    count= count+1

plt.show()
nkkqxpd9

nkkqxpd91#

由于您没有提供您的数据,我认为您可以尝试这样做

dfPlot = df[['column 1', 'column 2', 'column 3', 'column 4', 'column 5', 'column 6', 'column 7', 'column 8', 'column 9']]
fig = plt.figure(figsize=(16, 8))
count = 1
for i in dfPlot.columns:
    ds = dfPlot.sort_values(i, ascending=False)
    ax = fig.add_subplot(3, 3, count)
    ax.bar(ds.index, ds[i])
    count += 1
plt.show()

相关问题