我已经计算出间隔边界
import numpy as np
boundaries = np.array([-1.0, -0.5, 0.0, 0.5, 1.0])
和归一化频率
normalized_frequencies = np.array([0.10, 0.40, 0.40, 0.10])
我的问题:如何绘制直方图,其条形边界为
boundaries
,而y值为normalized_frequencies
?
答案 0 :(得分:1)
您需要条形图而不是直方图。这里的重点是仅使用前四个边界值,然后将宽度等于边界之间的间距。在这种情况下,宽度为0.5。黑色的edgecolor
用于区分条形。
import numpy as np
boundaries = np.array([-1.0, -0.5, 0.0, 0.5, 1.0])
normalized_frequencies = np.array([0.10, 0.40, 0.40, 0.10])
width = boundaries[1] - boundaries[0]
plt.bar(boundaries[0:-1], normalized_frequencies, width=width,
align='edge', edgecolor='k')
第二种选择是找到每个间隔的中心点
centers = (boundaries[1:] + boundaries[:-1]) / 2
width = centers[1] - centers[0]
plt.bar(centers, normalized_frequencies, width=width,
align='edge', edgecolor='k')