python - 使用matplotlib在python中通过数据列表分别绘制直方图

标签 python matplotlib

我有一个嵌套列表,我需要将其数据绘制在不同的直方图上。

    ...
    ...
    numbers = [[float(line[1]) for line in chr ] for chr in result]
    plt.hist(numbers)
    plt.show()

这样做,输出只是一个数字,每个箱中都有不同直方图的条形(例如第一个箱包含每个直方图的第一个条形),而我想要的是拥有单独的直方图。 我尝试做一个 for 循环:

    for w in numbers:
       plt.hist(w)
       plt.show()

但是这样做我每次只获得一个直方图,并且只有当我关闭前一个时我才可以看到下一个。 我该怎么办?

最佳答案

使用subplots 。选择 n_rowsn_columns 以便您可以制作 len(numbers) 子图。 i 从 1 开始,而不是 0。

i = 1
for w in numbers:
    plt.subplot(n_rows, n_columns, i)
    i += 1
    plt.hist(w)
plt.show()

通过将 plt.show() 从 for 循环中取出,图形仅在屏幕上绘制一次,无需关闭早期的不完整版本。

关于python - 使用matplotlib在python中通过数据列表分别绘制直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15461819/

相关文章:

python - 在 matplotlib 中使用 bbox_inches ='tight' 时,如何获得具有精确大小(以像素为单位)的图像?

python - Jupyter Notebook 导入错误,%matplotlib qt

python - 在没有 fillna 或 Interpolate 的情况下从数据框中删除 NaN 值

c++ - 从 C++(或 C)回调调用 python 方法

python - 如何处理我的login_required url?

python - 猴子补丁方法和引用的问题

python - 快速搜索高斯核中最大值的坐标

python - 图像的 RGB 立方体

python - matplotlib 不导入 PyQt4、PyQt5 或 PySide

python - 从 Python 列表中删除 nan 值