我正在尝试使用 Python 3 中的 matplotlib
来实现如下图所示的效果:
有人问过类似的问题here但公认的答案不足以满足我的需要。我需要在虚线中间添加文本(我可以用 plt.axvline()
函数绘制)。
这是我尝试过的
import matplotlib.pylab as plt
plt.hist(some_data)
plt.axvline(0.5, color='k', linestyle='--')
plt.text(0.5, 0.5, 'Some Text', ha='center', va='center',rotation='vertical')
plt.show()
如果我能把这段文字放在虚线中间就好了。
最佳答案
这不是解决方案,而更像是一种解决方法。您可以尝试设置文本的背景颜色,或者添加一个具有特定颜色的边界框,这将使线条黯然失色。这将使文本显示为内联。
你可以这样实现:
plt.text(0.5, 0.5, 'Some Text', ha='center', va='center',rotation='vertical', backgroundcolor='white')
和
plt.text(0.5, 0.5, 'Some Text', ha='center', va='center',rotation='vertical', bbox={'facecolor':'white', 'pad':5})
当这条线覆盖在不同颜色的直方图上时,当然会出现问题,然后您必须将背景或框的颜色与直方图相匹配。这将显示如下内容:
关于Python 3 - 垂直线内的 matplitlib 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43842269/