条形图的python xtick

时间:2017-03-30 01:52:15

标签: python python-2.7 numpy

我想绘制这些数据的条形图:

(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)

代码完美无缺,但我得到的图形的xticks问题就像:enter image description here

我想让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()

1 个答案:

答案 0 :(得分:0)

这条线就行了。问题解决了。请有人勾选

fig = pl.bar(k,pct,align =' center',width = 0.25)