我正在使用轴在同一图中绘制两个归一化直方图,并希望有一个可以捕获任何高于 6000 的值的容器。这就是我到目前为止所做的:-
fig,ax=plt.subplots(1,2)
x1 = (60, 80, 1000, 7000, 8000)
x2 = (9000, 10000, 11000, 12000, 13000)
weights1= np.ones_like(x1)/float(len(x1))
weights2= np.ones_like(x2)/float(len(x2))
bins= np.arange(0, 6000, 100)
ax[0].hist(np.clip(x1, bins[0], bins[-1]), bins=bins, weights=weights1,
alpha =.5, label = "A", color = "blue")
ax[1].hist(np.clip(x2, bins[0], bins[-1]), bins=bins, weights=weights2,
alpha =.5, label = "B", red = "red")
plt.show()
如何将 6000 处的 x 刻度标签更改为 6000+,以表明它捕获了高于该值的所有观察结果?
最佳答案
这样的事情应该有效:
ticks, labels = plt.xticks()
labels[-1].set_text('6000+')
plt.xticks(ticks, labels)
更新: 您可以手动完成这一切:
bins= np.arange(0, 6000, 100)
plt.sca(ax[0])
plt.hist(np.clip(x1, bins[0], bins[-1]), bins=bins, weights=weights1,
alpha =.5, label = "A", color = "blue")
plt.xticks([0,2000,4000,6000], ['0','2000','4000','6000+'])
plt.sca(ax[1])
plt.hist(np.clip(x2, bins[0], bins[-1]), bins=bins, weights=weights2,
alpha =.5, label = "B", color = "red")
plt.xticks([0,2000,4000,6000], ['0','2000','4000','6000+'])
理论上这也应该有效,但由于某种原因不行...如果有人可以阐明这个问题...?
plt.sca(ax[1])
plt.hist(np.clip(x2, bins[0], bins[-1]), bins=bins, weights=weights2,
alpha =.5, label = "B", color = "red")
ticks, labels = plt.xticks()
labels[-1].set_text('6000+')
plt.xticks(ticks, labels)
关于python - 更改 matplotlib 轴中的 x 轴刻度标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59186269/