如何在matplotlib绘制的图表中添加带文字标注的竖直虚线?
实现方法
你可以直接使用matplotlib内置的axvline()方法绘制竖直虚线,再搭配text()方法添加对应标注即可,操作逻辑如下:
- 调用
plt.axvline()绘制竖线,核心参数说明:
x:竖线对应的横坐标位置linestyle:线的样式,设为'--'即可得到虚线效果color:线的颜色,可自定义linewidth:线的粗细
- 调用
plt.text()添加标注文字,核心参数说明:
x、y:标注文字的坐标,x和竖线位置保持一致即可,可设置微小偏移避免文字压在线上s:要显示的标注内容rotation:文字旋转角度,设为90即可实现竖排文字效果,和你预期的参考样式一致va、ha:文字对齐方式,避免排版错位
适配现有代码的修改示例
在你现有代码的最后一行plt.plot(xb, r_3b, 'tab:red', marker='D')之后,添加如下代码即可:
# 按阶段分界点添加竖直虚线和标注 plt.axvline(x=5, linestyle='--', color='gray', linewidth=1.5) plt.text(x=5.1, y=230, s='leave decision 1', rotation=90, va='center', ha='left') plt.axvline(x=10, linestyle='--', color='gray', linewidth=1.5) plt.text(x=10.1, y=230, s='leave decision 2', rotation=90, va='center', ha='left') plt.axvline(x=15, linestyle='--', color='gray', linewidth=1.5) plt.text(x=15.1, y=230, s='leave decision 3', rotation=90, va='center', ha='left') # 显示图表 plt.show()
你可以根据自己的需求调整竖线位置、标注内容、文字位置、线的样式等参数,即可得到你想要的效果。
内容的提问来源于stack exchange,提问作者Kshtj
相关产品推荐
相关产品推荐

