plt.hist()的极端值为“小于x”,“大于y”

时间:2019-06-18 14:57:38

标签: python matplotlib bins

这里是示例:

v = np.random.randint(low=-15,high=15,size=20)
plt.hist(v,bins=[-10,-5,0,5,10])
plt.show()

现在,我要设置垃圾箱,例如[“小于-10”,-10,-5、0、5、10,“大于10”]。

如何做到?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

这是添加“大于或小于”的示例代码。如果> 10或<-10,则可以更改(v)值,然后在bin的末尾手动添加字符串'>'或'<'。

np.random.seed(123)
fig, ax = plt.subplots(figsize=(8, 5))
v = np.random.randint(low=-15,high=15,size=20)
v_plot = [15 if i > 10 else i for i in v]
v_plot = [-15 if i < -10 else i for i in v_plot]
bins = np.arange(-15,20,5)
plt.hist(np.clip(v_plot, bins[0], bins[-1]),bins=bins)
xlabels = bins[1:].astype(str)
xlabels[-1] = '>' + xlabels[-2] 
xlabels[0]  = '< ' + xlabels[0] 
N_labels = len(xlabels)
plt.xlim([-15, 15])
plt.xticks(5*np.arange(N_labels)-12.5)
ax.set_xticklabels(xlabels) 
plt.title('Sample: Greater and less than')    
plt.show()

enter image description here