为什么pyplot的直方图会给出两种不同的颜色?

时间:2019-02-24 00:05:31

标签: python matplotlib histogram

编辑:我要复制的是此直方图:enter image description here

因此,我正在绘制一个非常大的数据集,其中包含两组不同的时间。但是我正在获得带有蓝色和橙色条形图的直方图。

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

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

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

第一列(列索引0)和

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

第四列(列索引3)