如何绘制以下Counter对象的直方图?
w = collections.Counter()
l = ['a', 'b', 'b', 'b', 'c']
for o in l:
w[o]+=1
答案 0 :(得分:5)
查看您的数据和尝试,我想您想要的是条形图而不是直方图。直方图用于绘制分布,但这不是您所拥有的。您可以简单地使用keys
和values
作为plt.bar
的参数。这样,这些键将自动作为x轴刻度标签。
import collections
import matplotlib.pyplot as plt
l = ['a', 'b', 'b', 'b', 'c']
w = collections.Counter(l)
plt.bar(w.keys(), w.values())
答案 1 :(得分:0)
我猜这是您想要做的吗?您只需要添加xtick标签(请参阅matplotlib文档)
import matplotlib.pyplot as plt
import collections
l = ['a', 'b', 'b', 'b', 'c']
count = collections.Counter(l)
print(count)
plt.bar(range(len(count)), count.values())
plt.show()