我有两个名单,x和y x包含字母A-Z和Y包含它们在文件中的频率。
我已尝试研究如何在直方图中绘制这些值,但在理解如何绘制它时却没有成功。
n, bins, patches = plt.hist(x, 26, normed=1, facecolor='blue', alpha=0.75)
x会在上面列出的列表中列出x吗?
答案 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()