在matplotlib中选择要绘制的子图

时间:2019-02-19 21:32:42

标签: python pandas matplotlib

我正在编写一个函数,以显示给定数据帧中每列的前10个值计数值的摘要。

假设我们有以下数据框:

$stmt->execute()

我希望能够计算列数,并创建一个大小合适的图网格

我使用元组创建并找到正确的正方形网格选择:

df = pd.DataFrame({'a':[1, 2, 3, 1, 2, 3, 1, 4, 4, 5, 6],
                   'b':[2, 1, 1, 1, 1, 1, 1, 4, 4, 5, 6],
                   'c':[1, 2, 3, 1, 2, 5, 5, 5, 5, 5, 6]})

现在我创建子图:

l = len(df.columns)
tups = [(z, z, z**2) for z in range(1, 10)]
param = tups[min([i for i, x in enumerate([l <= tup[2] for tup in tups]) if x])]

我遇到的困难是我想为每个子图绘制每个图,但是当我遍历时,它只是将每个图设置为最后一个网格图,而将其他图保留为空白。

for i in range(1, l+1):
    plt.subplot(param[0], param[1], i)

1 个答案:

答案 0 :(得分:2)

这肯定已经在其他地方得到了回答,但是由于某些原因,我可能会再次在这里键入。

object