在Python中绘制直方图

时间:2011-05-08 06:50:58

标签: python frequency histogram

我有两个名单,x和y x包含字母A-Z和Y包含它们在文件中的频率。

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

n, bins, patches = plt.hist(x, 26, normed=1, facecolor='blue', alpha=0.75)

x会在上面列出的列表中列出x吗?

1 个答案:

答案 0 :(得分: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()

enter image description here