【问题标题】:Why is pyplot's histogram giving two different colors?为什么 pyplot 的直方图会给出两种不同的颜色?
【发布时间】:2019-02-24 00:05:30
【问题描述】:

编辑:我要重现的是这个直方图:enter image description here

所以我正在绘制一个包含两组不同时间的相当大的数据集。但我得到了一个带有蓝色和橙色条的直方图。

我在其他任何地方查看是否有人问过/回答过这个问题会产生想要改变颜色的结果。但是,每隔一次我使用 hist 时,我只会得到蓝色条作为默认值。

这是我的代码:

filename='24.txt'
data=np.genfromtxt(filename, usecols=(0,3), skip_header=4)
bins=15    
entries, edges, _ = plt.hist(data,bins,)

This is a relevant sample of my text file

【问题讨论】:

    标签: python matplotlib histogram


    【解决方案1】:

    您正在读取文件中的 2 列,因此 data 的形状为 (n, 2),其中 n 是行数。调用hist()函数时,会生成2个直方图,每列一个。

    如果您想获得所选 2 列中第一列的直方图,可以使用 plt.hist(data[:,0],bins)

    【讨论】:

    • @MaxD 有什么问题?我只在标题中看到一个问题:“为什么有 2 种颜色?”答案是:因为有 2 个直方图。
    【解决方案2】:

    问题是您正在从文本文件中导入 2 列,即第 0 列和第 3 列。现在您的 data 包含两列。当您使用hist 绘制直方图时,它将绘制两个直方图:每列一个。

    这就是您看到两组条形的原因:橙色和蓝色。为单个数据集绘制直方图以查看其分布。您似乎想要两个单独的图,每个图都有一个单列的直方图。

    要查看单色直方图,您需要这样做

    entries, edges, _ = plt.hist(data[:,0],bins) 
    

    对于第一列(列索引0)和

    entries, edges, _ = plt.hist(data[:,1],bins)
    

    对于第四列(列索引3)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多