Skip to main content
 首页 » 编程设计

python之当数据在元组中时如何在 matplotlib 中绘制直方图

2025年05月04日15freeliver54

我需要绘制列表中 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() 

示例输出: