带有希腊字母的Python 3.5.2中的图形(LaTeX)

时间:2016-11-23 13:21:57

标签: python python-3.x graph latex

我是Python新手,并尝试重现以下图表:

enter image description here

MWE是:

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
mu, sigma = 100, 15
x = mu + sigma*np.random.randn(10000)
# the histogram of the data
n, bins, patches = plt.hist(x, 50, normed=1, facecolor='green',
                            alpha=0.75)
# add a 'best fit' line
y = mlab.normpdf( bins, mu, sigma)
l = plt.plot(bins, y, 'r--', linewidth=1)
plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title(r'$\mathrm{Histogram\ of\ IQ:}\ \mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])
plt.grid(True)
plt.show()

输出是:

enter image description here

然而,希腊字母并未妥善呈现。我可能会遗漏一些基本的东西。如何在Python 3.5.2中重现原始图形?

被修改

我在Ubuntu 16.10上通过Python 2.4.1和IDLE使用Python 3.5.2。

1 个答案:

答案 0 :(得分:1)

如果渲染不合适,您可以在matplotlibrc中指定字体来更改乳胶字体:

from matplotlib import rc

rc('font', **{'family':'serif','serif':['Palatino']})
rc('text', usetex=True)

或简单地说:

 plt.title("Histogram of IQ: " r'$\mu = 100, \sigma$ =15')

标题的示例输出: enter image description here