Python并绘制直方图(使用matplotlib)

取缔

我的问题通常是:我有一个函数,可以创建并保存直方图。在我的代码中,我两次运行该函数:第一次使用一个数据数组创建和保存一个绘图,第二次使用另一个数据数组创建和保存第二个绘图。程序完成后,我得到2个.png文件:第一个包含一个数据数组的直方图,第二个包含第一个和第二个数据数组的直方图!我需要的是一个数组的一个图,而另一个数组的另一个图。我的主意会打击,我无法理解,这是怎么回事。有人可以给我一个提示吗?

这是我的代码和生成的图像的一部分:

    def mode(station_name, *args):
        ...
        #before here the 'temp' data array is generated

        temp_counts = {}

        for t in temp:
            if t not in temp_counts:
                temp_counts[t] = 1
            else:
                temp_counts[t] += 1

        print(temp_counts)  **#this dictionary has DIFFERENT content being printed in two function runs**

        x = []
        for k, v in temp_counts.items():
            x += [k for _ in range(v)]

        plt.hist(x, bins="auto")

        plt.grid(True)

        plt.savefig('{}.png'.format(station_name))

    #---------------------------------------------------------------------------------------------------
    mode(station_name, [...])
    mode(station_name, [...])

我得到1张图片的“赞”

我得到的2张图片的“赞”

我的完整脚本完成后获得的真实图像#1

我的完整脚本完成后获得的真实图像#2

安德里亚

如果使用plt.plotsomething..该图,则会将其添加到当前使用的图形中,因此第二个直方图将添加到第一个直方图中。我建议使用matplotlib对象API以避免混淆:创建图形和轴,然后从它们开始生成图。这是您的代码:

def mode(station_name, *args):
    ...
    #before here the 'temp' data array is generated

    temp_counts = {}

    for t in temp:
        if t not in temp_counts:
            temp_counts[t] = 1
        else:
            temp_counts[t] += 1

    print(temp_counts)  **#this dictionary has DIFFERENT content being printed in two function runs**

    x = []
    for k, v in temp_counts.items():
        x += [k for _ in range(v)]

    fig, ax = plt.subplots(1):
    ax.hist(x, bins="auto")
    ax.grid(True)
    fig.savefig('{}.png'.format(station_name))

#---------------------------------------------------------------------------------------------------
mode(station_name, [...])
mode(station_name, [...])

这应该为您完成工作

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用matplotlib在python中绘制堆叠的直方图

来自分类Dev

使用matplotlib绘制直方图或散点图

来自分类Dev

如何使用python matplotlib绘制正态分布的直方图?

来自分类Dev

Python Matplotlib:绘制去除重叠边界的直方图

来自分类Dev

使用matplotlib在图中绘制多个直方图

来自分类Dev

使用matplotlib创建直方图-Python

来自分类Dev

使用Seaborn Python绘制CDF +累积直方图

来自分类Dev

使用python绘制带有文本的直方图

来自分类Dev

Matplotlib:使用非透明边缘绘制透明直方图

来自分类Dev

matplotlib使用不对称误差线绘制直方图

来自分类Dev

如何使用Matplotlib按DataFrame列的顺序绘制直方图网格?

来自分类Dev

如何使用matplotlib ArtistAnimation绘制直方图或条形动画?

来自分类Dev

如何使用matplotlib绘制中心值不为零的垂直直方图

来自分类Dev

在Python中绘制直方图

来自分类Dev

python绘制多个直方图

来自分类Dev

使用matplotlib .pylot绘制直方图和位于直方图上的平滑曲线

来自分类Dev

Python Matplotlib:创建直方图

来自分类Dev

使用csv文件作为输入在python中绘制直方图

来自分类Dev

使用Matplot和python从数据库绘制直方图

来自分类Dev

使用python绘制直方图时从文件读取数据的方法吗?

来自分类Dev

在Matplotlib中从预先计算的数据绘制直方图

来自分类Dev

在直方图matplotlib中绘制x-ticks

来自分类Dev

根据pandas / matplotlib中的类绘制直方图

来自分类Dev

matplotlib:在散点图上方绘制直方图

来自分类Dev

Matplotlib直方图-绘制大于给定值的值

来自分类Dev

Matplotlib-绘制直方图截断条

来自分类Dev

根据pandas / matplotlib中的类绘制直方图

来自分类Dev

反复绘制堆积的直方图pandas / matplotlib

来自分类Dev

matplotlib - 用独特的 bin 绘制直方图

Related 相关文章

  1. 1

    使用matplotlib在python中绘制堆叠的直方图

  2. 2

    使用matplotlib绘制直方图或散点图

  3. 3

    如何使用python matplotlib绘制正态分布的直方图?

  4. 4

    Python Matplotlib:绘制去除重叠边界的直方图

  5. 5

    使用matplotlib在图中绘制多个直方图

  6. 6

    使用matplotlib创建直方图-Python

  7. 7

    使用Seaborn Python绘制CDF +累积直方图

  8. 8

    使用python绘制带有文本的直方图

  9. 9

    Matplotlib:使用非透明边缘绘制透明直方图

  10. 10

    matplotlib使用不对称误差线绘制直方图

  11. 11

    如何使用Matplotlib按DataFrame列的顺序绘制直方图网格?

  12. 12

    如何使用matplotlib ArtistAnimation绘制直方图或条形动画?

  13. 13

    如何使用matplotlib绘制中心值不为零的垂直直方图

  14. 14

    在Python中绘制直方图

  15. 15

    python绘制多个直方图

  16. 16

    使用matplotlib .pylot绘制直方图和位于直方图上的平滑曲线

  17. 17

    Python Matplotlib:创建直方图

  18. 18

    使用csv文件作为输入在python中绘制直方图

  19. 19

    使用Matplot和python从数据库绘制直方图

  20. 20

    使用python绘制直方图时从文件读取数据的方法吗?

  21. 21

    在Matplotlib中从预先计算的数据绘制直方图

  22. 22

    在直方图matplotlib中绘制x-ticks

  23. 23

    根据pandas / matplotlib中的类绘制直方图

  24. 24

    matplotlib:在散点图上方绘制直方图

  25. 25

    Matplotlib直方图-绘制大于给定值的值

  26. 26

    Matplotlib-绘制直方图截断条

  27. 27

    根据pandas / matplotlib中的类绘制直方图

  28. 28

    反复绘制堆积的直方图pandas / matplotlib

  29. 29

    matplotlib - 用独特的 bin 绘制直方图

热门标签

归档