我在macOS 10.13上使用Julia语言的PyPplot包。这是我生成问题的代码:
using PyPlot
PyPlot.svg(true)
function myplot()
my_font=matplotlib[:font_manager][:FontProperties](fname = "/System/Library/Fonts/Helvetica.ttc")
fig, ax = subplots()
ax[:plot](rand(10), rand(10), linewidth = 2)
for tick in ax[:xaxis][:get_major_ticks]()
tick[:label][:set_fontproperties](my_font)
end
for tick in ax[:yaxis][:get_major_ticks]()
tick[:label][:set_fontproperties](my_font)
end
savefig("figure.pdf")
end
myplot()
如您所见,我需要将刻度标签的字体更改为 Helvetica,这在我的 mac 上可通过 ttc 文件获得。该图在Jupyter Notebook中正常显示。但是,使用 savefig()
,它不起作用:
RuntimeError('TrueType font is missing table',)
我已经删除了~/.matplotlib/fontList.py3k.cache
和~/.matplotlib/tex.cache
.我还需要做什么才能使savefig()
正常工作?谢谢!
我建议你应该改变一个字体
matplotlib.rcParams['font.family'] = 'Calibri'