在python matplotlib中绘制多个直方图

时间:2019-09-23 08:48:21

标签: python matplotlib

我尝试在同一轴上绘制来自不同数据文件的多个直方图。而且我也已经成功绘制了,但是唯一的事情是我无法为数据分配特定的颜色。 代码:

import os
import matplotlib.pyplot as plt
import numpy as np

histogram = plt.figure(figsize=(20,10))
### Loop over all files
for f in fileNames:
found = re.search('BufferSize_(.+?)_', f) ##capture the byte size from the file name 
packet_size = found.group(1)
data_array = np.loadtxt(logsdir+f, delimiter=',', unpack=True, skiprows=1, usecols=1)
bins = range(5, 300,1)
  # print bins
tupleY, tupleX, _ = plt.hist(np.clip(data_array,bins[0], bins[-1]), bins = bins,    histtype='step',label='Packet Size = %s Byte'%packet_size)

plt.xlabel('RTT[ms]',fontsize=15)
plt.ylabel('n',fontsize=15)
plt.title('RTT histogram',fontsize=20)
plt.grid()
plt.legend(loc='upper right')
plt.show()

在上面的代码中,文件是存储在“ fileNames”路径中的csv文件,它从文件名中识别缓冲区大小,并将同一内容复制到直方图的标签中。

现在,每次我在不同的文件夹上运行此代码时,都会为缓冲区大小变量分配不同的颜色。 我可以提到,不同文件夹中的缓冲区大小不会有所不同,但数据会有所不同。 我的问题是如何一致地将相同的颜色分配给缓冲区大小。每个文件夹中只有三个文件。

0 个答案:

没有答案
相关问题