我正在使用matplotlib绘制电影,并且一直在努力寻找text()元素的绝对定位.问题是我的文本块(通常是增加数字)会根据打印的数字继续移动.即使我将水平/垂直对齐设置为固定级别(例如right或bottom),也会发生这种情况.
这似乎与我使用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'我以为右侧总是在一个固定的位置.改变字体不是一个真正的选择,因为我需要这个以保持一致性和其他原因.关于如何解决这个问题的任何想法?它导致非常不专业的视频.
| 归档时间: |
|
| 查看次数: |
512 次 |
| 最近记录: |