Matplotlib无法找到草书字体

时间:2018-05-24 10:48:19

标签: python python-3.x matplotlib jupyter-notebook

我试图让matplotlib中的文本标签都是Arial字体。从here开始,我尝试了以下内容:

plt.rcParams['mathtext.it'] = 'Arial:italic'
plt.rcParams['mathtext.rm'] = 'Arial'
plt.rcParams['mathtext.default'] = 'regular'
plt.rcParams['font.serif'] = 'Arial'
plt.rcParams['font.family'] = 'Arial'

这解决了几乎每一个案例中的问题。当我尝试放置包含斜体和常规字体的绘图标签时,问题出现了。在那里,当我尝试以下内容时:

label_name = r'$\mathit{%s}$ %s' % (gene, splice)
ax1c.set_ylabel(label_name, fontsize=8, labelpad=17)

字体最终不是Arial。当我尝试r'$\it{%s} $ %s' % (gene, splice)时,我也会这样做。我尝试了以下两行代码:

plt.rcParams['mathtext.fontset'] = 'custom'
mpl.rcParams['mathtext.fontset'] = 'custom'

然而,两者都不起作用,并且都返回以下错误:

/home/soma/anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py:1320: UserWarning: findfont: Font family ['cursive'] not found. Falling back to DejaVu Sans
(prop.get_family(), self.defaultFamily[fontext]))

我找到解决此问题的最佳链接是here。我尝试过以下方法:

  • 退出Jupyter
  • sudo apt install font-manager
  • sudo apt install msttcorefonts -qq
  • rm~ / .cache / matplotlib -rf
  • 重启Jupyter

然而我继续得到同样的错误。

我希望找到rcParams['mathtext.fontset'] = 'custom'解决方案的替代方案,或者找不到字体问题的解决方案

0 个答案:

没有答案