emp*_*ice 4 python latex matplotlib
将具有下标的标签与没有它们的标签混合时,它们不会在图例中垂直对齐.由于matplotlib在内部根据打印字符确定边界框,因此使用vphantom字符不能对齐这些图例标签,我也没有运气改变标签的垂直对齐方式set_va.
下面是一个MWE,它说明了我试图解决的问题.我希望标签尽可能与文本基线对齐,否则与文本顶部对齐.
import numpy as np
import matplotlib as mpl
mpl.rcParams['text.usetex'] = True
import matplotlib.pyplot as plt
x = np.arange(10)
plt.plot(x, np.random.uniform(size=(10,)), c='red', label=r'test')
plt.scatter(x, np.random.uniform(size=(10,)), c='blue', label=r'test${}_{xy}$')
plt.legend(ncol=2)
plt.show()
Run Code Online (Sandbox Code Playgroud)
将text.latex.preview参数设置为True:
import numpy as np
import matplotlib as mpl
mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.preview'] = True
import matplotlib.pyplot as plt
x = np.arange(10)
plt.plot(x, np.random.uniform(size=(10,)), c='red', label=r'test')
plt.scatter(x, np.random.uniform(size=(10,)), c='blue', label=r'test${}_{xy}$')
plt.legend(ncol=2)
plt.show()
Run Code Online (Sandbox Code Playgroud)
对于preview参数的效果,也请参考此示例.
| 归档时间: |
|
| 查看次数: |
2341 次 |
| 最近记录: |