Гистограмма распределения площадей и высот из pandas dataframe, python - PullRequest
0 голосов
/ 27 июня 2019

У меня есть пандас DataFrame со столбцами 'area' и 'height'.Я попытался показать распределение площадей по высоте.Я думал, что это должно быть просто, но я не нашел способ сделать это.

Мой фрейм данных выглядит так:

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

Очевидно, df.hist() не работает.Я ищу что-то вроде: enter image description here

Где область должна быть по оси Y.

Любая помощь в этом будет высоко оценена.

1 Ответ

2 голосов
/ 27 июня 2019
import matplotlib.pyplot as plt
plt.hist(df.ele,bins=[100*x+5500 for x in range(0,10)],weights=df.area)

enter image description here

Объяснение:
[100*x+5500 for x in range(0,10)] формирует ячейки для гистограммы на каждые 100 м высоты: 5500, 5600, ...,6400. Это не существенно, но гистограмма выглядит лучше, в противном случае ячейки не заканчиваются на круглых числах.
Подведение итогов осуществляется с помощью ключевого слова weights, как уже упоминалось в комментариях квопрос выше.Более подробную информацию смотрите в документации pyplot.hist .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...