我是使用matplotlib的新手,所以我遇到了一些问题。我必须为我拥有的每个网站创建一个带有不同标签的条形图。 该文件如下所示:
1001 adblock 12
1001 badger 11
1001 disconnect 15
1001 ghostery 15
1001 nottrack 14
1001 origin 15
1001 policy 16
1001 ultimate 14
4ruote adblock 12
4ruote badger 1
4ruote disconnect 14
4ruote ghostery 27
4ruote nottrack 9
4ruote origin 26
4ruote policy 34
4ruote ultimate 20
...... ........ ...
我的目标是创建一个条形图,其中包含:
(文件的第一列),是一个字符串
在y轴上该网站的值(文件的第三列)(在文件内重复8次),所以8个整数值
标签,对于特定网站,存在于第二列(字符串)中。
我读了不同的答案,但是对于同一个变量,每个答案都不会对标签之间的这种比较构成威胁。 我正在做的是读取文件,拆分行并取第一列和第三列,但我该如何管理标签?
答案 0 :(得分:0)
我们假设您已将网站读入8个不同的数据集(adblock,badger,disconnect等)。然后,您可以使用下面的逻辑绘制每个系列并在图例上显示其标签。
import numpy
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
#this is your number of datasets
x = numpy.arange(8)
width = 0.1
#plot each dataset here, offset by the width of the preceding bars
b1 = ax.bar(x, adblock, width, color='r')
b2 = ax.bar(x + width, badger, color='g')
b3 = ax.bar(x + width*2, disconnect, color='m')
legend([b1[0], b2[0], b3[0]], ['adblock', 'badger',
'disconnect'])
plt.show()
答案 1 :(得分:0)