我将matplotlibrc param文件中的字体样式设置为Helvetica(sans serif),并将text.usetex设置为' True'但是axis字体使用serif字体。如何让轴字体使用sans serif?
答案 0 :(得分:0)
有时更改.matplolibrc是不够的。例如,在OS X中,Helvetica默认安装,但存储为Matplotlib无法访问的.dfont
文件。如果是这种情况,您需要将其转换为.ttf
并将其放在正确的文件夹中,以便matplotlib可以看到它。有关详细信息,请参阅here。
这样的事情可以帮助您解决问题:
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
path = '/home/username/Helvetica.ttf'
prop = font_manager.FontProperties(fname=path)
mpl.rcParams['font.family'] = prop.get_name()
fig, ax = plt.subplots()
ax.set_title('Test text', fontproperties=prop, size=40)
要查看您可以使用的所有字体:
import matplotlib.font_manager
print matplotlib.font_manager.findSystemFonts(fontpaths=None)
答案 1 :(得分:0)
我也遇到了这个问题,它通过为字体本身设置一个额外的rcparam来解决。即使用此代码可以解释您描述的问题:
import matplotlib.pyplot as plt
params = {
'text.usetex': True,
'font.family': 'sans'
}
plt.rcParams.update(params)
通过设置'font.sans'选项进行修改解决了我的问题:
import matplotlib.pyplot as plt
params = {
'text.usetex': True,
'font.family': 'sans',
'font.sans': 'cm'
}
plt.rcParams.update(params)