Matplotlib绝对文本定位

时间:2014-05-16 16:18:51

标签: python matplotlib

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

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

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

enter image description here

使用乳胶cmbright字体:

enter image description here

注意小数点的位置如何根据前导数字是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(...)

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

rc('text', usetex=True)
rc('text.latex', preamble=r'\usepackage{cmbright}')

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

0 个答案:

没有答案