我正在尝试创建一个直方图来表示数据框的几个元素。
数据帧如下:
Freq
Item 1 25
Item 2 35
我正在尝试制作一个直方图,其底部为第1项和第2项,并用数字表示高度(在y轴上)作为频率(请注意,我不想累积频率)。
我已经尝试过了:
dataframe = pd.DataFrame.from_dict(tour_adjust, orient='index')
plt.hist(dataframe, bins=10)
plt.show()
,我得到这样的结果: Image showing the histogram
(实际结果仅与期望的不同,具体取决于数据框中的元素数量)
与期望的结果相反,请参见此处:
Image showing the desired result
我尝试使用orient ='index'并没有它,但是两者都不正确,不是我想要的。
答案 0 :(得分:1)
如果您的数字已经是频率,那么您要找的不是hist
图,而是bar
图吗?
https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.bar.html
您也可以直接从数据框中进行绘制,例如在this example中:
>>> df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})
>>> ax = df.plot.bar(x='lab', y='val', rot=0)
答案 1 :(得分:1)