python - 使用元组元素从列表制作频率直方图

标签 python matplotlib plot distribution frequency

我想做一个词频分布,x轴是词,y轴是频数。

我有以下列表:

example_list = [('dhr', 17838), ('mw', 13675), ('wel', 5499), ('goed', 5080), 
                ('contact', 4506), ('medicatie', 3797), ('uur', 3792),
                ('gaan', 3473), ('kwam', 3463), ('kamer', 3447), 
                ('mee', 3278), ('gesprek', 2978)] 

我尝试先将其转换为 pandas DataFrame,然后使用 pd.hist() 如下例所示,但我就是想不通,认为它实际上是直的转发,但可能我遗漏了一些东西。

import numpy as np
import matplotlib.pyplot as plt

word = []
frequency = []

for i in range(len(example_list)):
  word.append(example_list[i][0])
  frequency.append(example_list[i][1])


plt.bar(word, frequency, color='r')
plt.show()

最佳答案

使用 Pandas :

import pandas as pd
import matplotlib.pyplot as plt

example_list = [('dhr', 17838), ('mw', 13675), ('wel', 5499), ('goed', 5080), ('contact', 4506), ('medicatie', 3797), ('uur', 3792), ('gaan', 3473), ('kwam', 3463), ('kamer', 3447), ('mee', 3278), ('gesprek', 2978)] 

df = pd.DataFrame(example_list, columns=['word', 'frequency'])
df.plot(kind='bar', x='word')

enter image description here

关于python - 使用元组元素从列表制作频率直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45080698/

相关文章:

Python:计算列表中的重复元素

colors - 如何在 matplotlib 中添加自定义颜色字母?

绘制点而不是线? JFreeChart PolarChart

r - 使用 lattice 和 quantreg 绘制多分位数回归线

python - Kivy 和 Matplotlib 尝试更新按钮回调的绘图

r - 同一图中的多个变量

python - python中的ssh网关 - 可用颜色?

python - Django ManyToMany 字段返回 None 但它有相关记录

python - Kivy 更改标签文本

layout - matplotlib:获取子图布局?