Matplotlib绝对文本定位

tia*_*ago 5 python matplotlib

我正在使用matplotlib绘制电影,并且一直在努力寻找text()元素的绝对定位.问题是我的文本块(通常是增加数字)会根据打印的数字继续移动.即使我将水平/垂直对齐设置为固定级别(例如rightbottom),也会发生这种情况.

这似乎与我使用LaTeX字体有关,特别是某些字符比其他字符宽的字体.使用默认字体(比特流Vera Sans)它不会发生.

以下是该问题的说明.使用默认字体:

在此输入图像描述

随着乳胶cmbright字体:

在此输入图像描述

请注意,如果前导数字为0,1或2,小数点的位置如何水平移动.在其他一些示例中,小数点垂直移动.以下代码用于生成这些图:

figure(figsize=(4,4))
tt = text(.7, .5, '00.0', va='center', ha='right', fontsize=60)
for i in range(26):
    tt.set_text('%04.1f' % (float(i)))
    savefig(...)
Run Code Online (Sandbox Code Playgroud)

对于LaTeX字体,我之前加载了以下内容:

rc('text', usetex=True)
rc('text.latex', preamble=r'\usepackage{cmbright}')
Run Code Online (Sandbox Code Playgroud)

我尝试过不同类型的对齐,但我仍然无法解决这个问题.随着ha='right'我以为右侧总是在一个固定的位置.改变字体不是一个真正的选择,因为我需要这个以保持一致性和其他原因.关于如何解决这个问题的任何想法?它导致非常不专业的视频.