Pau*_*aul 16 python numpy matplotlib
我正在用matplotlib制作一些图,我遇到了TeX渲染的问题.似乎mathtext x-height比正常的比特流Vera Sans小一点.请参阅以下示例:
x = linspace(0, 30, 300);
y = 0.5*rand(300)+20/(numpy.power(x-15, 2)+4);
xlabel(r'$\omega$ (rad$\cdot$Hz)');
ylabel(r'Intensity$^2$');
title(r'Why is $mathtext$ so much smaller than normal text?');
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,希腊字母和数字尤其引人注目.理想情况下,我可以定义一些缩放因子,只会使每个字体大小的数学文本更大一些.有什么方法可以做到这一点吗?我不希望简单地用现代计算机无处不在.我也不想编译新的Tex数学字体,如果可能的话.
我将使用的一个解决方案是使用sans-serif字体作为希腊字母和数字,但无论出于何种原因,matplotlib忽略了对这些字体的格式:
title('Why does $mat\mathsf{plot}lib$ ignore formatting for $\mathsf{2}$ ($\mathsf{two}), $\mathbf{2}$ ($\mathbf{two}) and $\mathsf{\omega}$?')
Run Code Online (Sandbox Code Playgroud)

我认为这与这些东西排版的性质有关,但是有什么方法可以解决它吗?
来自matplotlib文档:
此外,您可以使用
\mathdefault{...}或其别名\mathregular{...}来使用mathtext之外的常规文本字体.这种方法存在许多限制,最明显的是可用的符号要少得多,但是使数学表达式与图中的其他文本很好地融合可能是有用的.