Python:直方图 - 创建不等的箱/轴

时间:2018-05-22 05:21:41

标签: python matplotlib histogram clip

注意,这个问题与[Defining bin width/x-axis scale in Matplotlib histogram有关。 我有一个看起来像这样的数据

 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 :(得分:0)

您可以使用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

希望这有帮助。