使用tex数学上标时,Matplotlib换行符更大

问题描述 投票:0回答:1

我想在情节上放两行带有一些数字的文字。它完美地工作(例1)。

但是,我需要一些文字作为上标。当我使用$^{text}$时,我的\n换行符似乎变得更大,这在示例2中打破了我在情节中的对齐。差别并不大,但它足以导致我出现问题。

有什么方法可以保持换行符的原始间距,还包括上标格式?我知道有一些关于类似主题的帖子,但主要是使用原始字符串而不是换行符本身的大小。

一个简单而完整的例子:

import matplotlib.pyplot as plt
n=100

#Example 1
plt.text(0,0.01,'Hello: '+str(n)+'\n'+'TEST')
#Example 2
plt.text(0.2,0.01,'Hello: '+str(n)+'\n'+r'TEST1$^{problem}$')
python matplotlib formatting
1个回答
1
投票

您可以手动设置文本的linespacing

import matplotlib.pyplot as plt
n=100
#plt.axhline(0.06, alpha=0.4)
text_kw = dict(verticalalignment="baseline", fontsize=10)
#Example 1
plt.text(0,0.01,'Hello: '+str(n)+'\n'+'TEST', linespacing=1.5, **text_kw)
#Example 2
plt.text(0.2,0.01,'Hello: '+str(n)+'\n'+r'TEST1$^{problem}$', linespacing=1.2, **text_kw)
plt.show()

enter image description here

在这种情况下,带有mathtext的文本的值为1.2,而没有mathtext的文本的值似乎给出了良好的结果。

但是,一般情况下,您需要将这些值调整为实际文本以及使用的字体大小。

© www.soinside.com 2019 - 2024. All rights reserved.