You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Matplotlib中ax.text2D的文本等号垂直对齐?

解决ax.text2D文本等号对齐问题

要让所有等号处于同一垂直线,核心是避免手动加空格因比例字体宽度不一致导致的错位,推荐两种实用方法:

方法1:字符串格式化固定标签宽度

利用Python字符串格式化的对齐语法,强制标签部分占据固定宽度,自动填充空格对齐。修改代码如下:

textstr = '\n'.join((
        f'{langbezeichnung}',
        f'Beprobung {datum_start} - {datum_end}',
        f'{anzahl_mst_para} Messstellen',
        f'{"BG":<9} = {bestimmungsgrenze} µg/L',  # 左对齐,占9个字符宽度
        f'{"75% SW":<9} = {warnwert} µg/L',
        f'{"SW":<9} = {grenzwert} µg/L'
))
ax.text2D(0.645, 0.74, s=textstr, transform=ax.transAxes, fontsize=12, 
          ha='left', va='top', 
          bbox=dict(facecolor='white', alpha=1, edgecolor='black', linewidth=0.2, boxstyle='square'))

其中:<9表示将标签左对齐,强制占据9个字符宽度,不足部分自动填充空格,确保等号统一对齐。可根据标签实际长度调整数字(如改为10)优化间距。

方法2:使用等宽字体

给文本设置等宽字体(如monospace),让每个字符(包括空格)宽度完全一致,手动加空格也能对齐:

ax.text2D(0.645, 0.74, s=textstr, transform=ax.transAxes, fontsize=12, 
          ha='left', va='top', fontfamily='monospace',
          bbox=dict(facecolor='white', alpha=1, edgecolor='black', linewidth=0.2, boxstyle='square'))

这种方法保留你原有的空格写法,但等宽字体风格可能与图表整体风格有差异,按需选择即可。

内容的提问来源于stack exchange,提问作者R.Muhrez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 09:25:39