gpt4 book ai didi

python - Matplotlib 希腊符号在 show() 和 savefig() 中不同

转载 作者:太空狗 更新时间:2023-10-30 01:33:58 29 4
gpt4 key购买 nike

我试图让一个简单的希腊字母 mu 以罗马字体显示在带有 matplotlib 的已保存图形中。我尝试了两种方法:

  1. plt.xlabel(u'波长 (\u03bc m)')

当我执行 show() 时,此方法工作正常,但当我尝试使用 savefig() 时,mu 字符在另存为.png如果我另存为 .pdf,则该符号将完全丢失。

  1. plt.xlabel(r'波长($\mathrm{\mu}$m)')

此方法同时使用 show()savefig() 呈现希腊字母,但尽管请求了罗马字体,但在每种情况下字符仍为斜体。

有什么诀窍?

最佳答案

我在使用 LaTeX 排版所有文本(常规和数学)方面有很好的经验。在绘图之前相应地设置你的 rc-settings:

import matplotlib.pyplot as plt

plt.rcParams['text.usetex'] = True #Let TeX do the typsetting
plt.rcParams['text.latex.preamble'] = [r'\usepackage{sansmath}',r'\sansmath']
#Force sans-serif math mode
plt.rcParams['font.family'] = 'sans-serif' # ... for regular text
plt.rcParams['font.sans-serif'] = 'Helvetica' # Choose a nice font here

然后你可以简单地说:

plt.xlabel('Wavelength ($\mu$)')

受我自己的回答启发: Type 1 fonts with log graphs

关于python - Matplotlib 希腊符号在 show() 和 savefig() 中不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26492454/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com