我想绘制这些数据的条形图:
(0, 68.41780598958333)
(1, 9.018391927083334)
(2, 0.4236653645833333)
(3, 0.5224609375)
(4, 0.4427083333333333)
(5, 0.6256510416666666)
(6, 1.248046875)
(7, 1.0188802083333333)
(8, 1.1717122395833333)
(9, 1.8673502604166667)
(10, 0.8668619791666666)
(11, 1.7233072916666667)
(12, 0.12353515625)
(13, 0.19661458333333334)
(14, 0.17513020833333334)
(15, 0.0006510416666666666)
(16, 12.1572265625)
我想让x-tick位于每个相应条形图的中心,并且不仅显示所有数字。我尝试了len(k)
,但k
不在一行中。可能是我在做一些错误似乎解决方案应该很容易,但我卡住了。
with open("data_binary.txt") as f:
d=(Counter([Counter(i)['1'] for i in f.readlines()]))
s=sum(d.values())
for k, v in d.items():
pct = float(v * 100.0 / s)
data = (k,pct)
print data
width=0.15
plt.bar(k,pct)
#plt.xticks(k)
pl.ylim(0, 80)
plt.xlabel ("Number of ones")
plt.ylabel ("Number of Signatures(%)")
plt.title("Adder@1")
pl.show()
答案 0 :(得分:0)
这条线就行了。问题解决了。请有人勾选
fig = pl.bar(k,pct,align =' center',width = 0.25)