我有一个带有'area'和'elevation'列的pandas DataFrame。我试图显示相对于海拔的区域分布。我认为这应该很简单,但是我没有找到一种方法。
我的数据框看起来像:
df:
area ele
0 97395.147254 6017.877745
1 69704.264405 5974.124316
2 71490.518833 5838.256686
3 23235.692475 5793.837788
4 65254.056661 5787.050911
5 17407.853780 5734.049234
6 17556.149643 6106.984128
7 33557.481232 5716.453589
8 37932.703188 5870.938016
9 19417.303768 5987.567275
10 26290.210275 6232.612380
11 45211.104174 5777.812375
12 35457.722243 5707.920921
13 83353.269135 5778.740416
14 68906.869455 5951.361295
15 66991.699542 6146.242249
16 43415.962994 6041.594263
17 74985.484055 5835.818736
18 53145.779672 5952.993800
19 36893.436921 6008.634508
20 59647.991246 5883.823537
21 53032.278932 5771.375295
该区域应在y轴上。
任何对此的帮助将不胜感激。
答案 0 :(得分:2)
import matplotlib.pyplot as plt
plt.hist(df.ele,bins=[100*x+5500 for x in range(0,10)],weights=df.area)
说明:
[100*x+5500 for x in range(0,10)]
构成每100 m海拔高度的直方图的分箱:5500、5600,...,6400。这不是必需的,但会使直方图看起来更好,否则分箱将不会以整数结束。
正如上面问题的注释中已经提到的,“总结”是通过使用weights
关键字完成的。有关更多详细信息,请参见pyplot.hist documentation。