Python 3.x 如何消除这些工件(带LaTeX的matplotlib)
当运行下面的最小示例时,我在LaTeX渲染表达式中得到奇怪的J形工件Python 3.x 如何消除这些工件(带LaTeX的matplotlib),python-3.x,matplotlib,latex,Python 3.x,Matplotlib,Latex,当运行下面的最小示例时,我在LaTeX渲染表达式中得到奇怪的J形工件 import matplotlib.pyplot as plt from matplotlib import rc rc('font',**{'family':'serif','serif':['Times']}) rc('text', usetex=True) rc(('xtick','ytick','axes'), labelsize=12.0) rc(('legend'), fontsize=8.0) fig=plt
import matplotlib.pyplot as plt
from matplotlib import rc
rc('font',**{'family':'serif','serif':['Times']})
rc('text', usetex=True)
rc(('xtick','ytick','axes'), labelsize=12.0)
rc(('legend'), fontsize=8.0)
fig=plt.figure(figsize=(4,3))
ax1 = fig.add_subplot(111)
ax1.plot([0,1],[0,1],label=r'$\propto x^1$')
ax1.set_xlabel(r'$x$')
ax1.set_ylabel(r'$\sum_i \chi_i$')
ax1.legend()
fig.tight_layout()
plt.savefig('minimal.pdf')
输出:
我怎样才能摆脱它们呢?正如乔·金顿(Joe Kington)在评论中指出的那样,摆脱这些艺术品的方法是使用具有正确符号的字体
在最简单的示例中,删除
rc('font',**{'family':'serif','serif':['Times']})
修复了问题。这可能是因为您的系统中没有类似于Times
的字体具有适当的符号。如果删除设置字体系列的第一行rc
,会发生什么情况?(无论如何,你的例子在我的系统上运行得非常好。我猜'serif':['Times']
会让你得到Times New Roman,它没有正确的符号。)