在Python中绘制直方图

Pyt*_*lex 20 python frequency histogram

我有两个列表,x和y.
x包含字母AZ和Y包含它们在文件中的频率.

我已经尝试过研究如何在直方图中绘制这些值,但是在理解如何绘制它时没有成功.

n, bins, patches = plt.hist(x, 26, normed=1, facecolor='blue', alpha=0.75)
Run Code Online (Sandbox Code Playgroud)

x是上面列表中的列表x吗?

joa*_*uin 49

hist处理一组值和计算并从中绘制直方图.在您的情况下,您已经预先计算了每组(字母)的频率.要以直方图形式表示您的数据,请使用更好的matplotlib bar:

import numpy as np
import matplotlib.pyplot as plt

alphab = ['A', 'B', 'C', 'D', 'E', 'F']
frequencies = [23, 44, 12, 11, 2, 10]

pos = np.arange(len(alphab))
width = 1.0     # gives histogram aspect to the bar diagram

ax = plt.axes()
ax.set_xticks(pos + (width / 2))
ax.set_xticklabels(alphab)

plt.bar(pos, frequencies, width, color='r')
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述