Python: гистограмма - создание неравных бинов / осей - PullRequest
0 голосов
/ 22 мая 2018

Обратите внимание, что этот вопрос относится к: [ Определение ширины бина / шкалы оси x в гистограмме Matplotlib .У меня есть данные, которые выглядят так:

 Time               Pressure
    1/1/2017 0:00       5.8253
    ...                     ...
    3/1/2017 0:10       4.2785
    4/1/2017 0:20       5.20041
    5/1/2017 0:30       4.40774
    6/1/2017 0:40       4.03228
    7/1/2017 0:50       5.011924
    12/1/2017 1:00      3.9309888

Я хотел бы построить гистограмму так, чтобы она выглядела следующим образом. Интервалы должны быть такими - [0-40,60,65,70,75,80]

enter image description here

1 Ответ

0 голосов
/ 22 мая 2018

Вы можете сгенерировать гистограмму, используя numpy.histogram(), а затем построить ее, используя Axes.bar().Тики можно затем отрегулировать с помощью Axes.set_ticklabels().Вот пример:

import numpy as np
from matplotlib import pyplot as plt

#some fake data:
data = np.random.normal(70,20,[100])

#the histogram
dist, edges = np.histogram(data,bins=[0,40,60,65,70,75,80])

#the plot    
fig,ax = plt.subplots()    
ax.bar(
    np.arange(dist.shape[0]), dist, width=1, align = 'edge',
    color = [1,0,0,0.5], edgecolor=[1,0,0,1], lw = 2,
    )
ax.set_xticks(np.arange(edges.shape[0]))
ax.set_xticklabels(edges)

plt.show()

Все выглядит примерно так:

result of the above code

Надеюсь, это поможет.

...