遍历列表字典以绘制子图

时间:2019-03-10 00:52:37

标签: python pandas matplotlib

我正在尝试使用matplotlib绘制10个图​​表。我使用以下代码创建了该图:

fig, ax = plt.subplots(5, 2, figsize=(11,11))

我有一本包含10个键的字典,每个键都包含一个与该键相关的数据框。我想为每个键创建一个子图,为数据框中的某一列创建一个barplot。我尝试使用如下所示的for循环,但无法解决此问题。有人可以指出正确的方向吗?

for key, value in breed_dict.items():
    ax = value.plot(1, 1, kind='bar')

我知道这还没有结束,但是我完全被卡住了。

谢谢。

1 个答案:

答案 0 :(得分:0)

让字典为dictOfDF

dictOfDF = { 1:df1 , 2:df2 , ... , 10:df10}

以以下方式遍历子图:

for i in range(5):
    for j in range(2):
        subplot = ax[i,j]

要访问每个DataFrame,只需遍历key的{​​{1}}

现在,访问dictOfDF中的每个索引并将其绘制到dfAtKey

subplot

因此,您的代码应如下所示:

for ind in dfAtKey.index:
    subplot.bar( dfAtKey.loc[ind,0] , dfAtKey.loc[ind,1] , width = 0.5 )

希望这会有所帮助