我需要绘制列表中 5 个最常出现的单词的直方图。我已经使用集合模块的 c.counter().most_common() 给我以下元组:
[('you', 7706), ('i', 6570), ('we', 2733), ('my', 2718), ('he', 2369)]
当数据的格式为 ('word', frequency) 时,如何绘制直方图?
我熟悉的格式是:['you', 'you', 'you', ... , 'i', 'i', 'i', ... , etc.]
我知道我可以将字符串乘以每个元素中的整数,以我熟悉的格式构建一个新列表来绘制直方图,但我觉得必须有一种更有效的方法来做到这一点。
请您参考如下方法:
Unzip你的元组列表:
from matplotlib import pyplot as plt
a = [('you', 7706), ('i', 6570), ('we', 2733), ('my', 2718), ('he', 2369)]
plt.bar(*zip(*a))
plt.show()
