我试图让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。我尝试过以下方法:
然而我继续得到同样的错误。
我希望找到rcParams['mathtext.fontset'] = 'custom'
解决方案的替代方案,或者找不到字体问题的解决方案