我在Windows 10上使用python2.7,使用Anaconda,并且在配置字体方面存在一些问题。
首先,我知道如果我安装了必需的字体,这个问题很快就会解决。但是我想知道我是否可以在不安装任何新字体的情况下解决这个问题。
我有这个简单的绘图代码。
import matplotlib as mpl
mpl.rcParams['font.family']='serif'
mpl.rcParams['mathtext.fontset']='cm'
import matplotlib.pyplot as plt
plt.plot([1,2,3],[4,3,4])
plt.text(1.5,4,'Hello!')
plt.show()
它完美无缺。由于计算机现代字体未安装在我的计算机上(奇怪的是考虑到我安装了TeXLive,但这无关紧要。),matplotlib
必须在内部使用它。现在,我希望我的衬线字体也是计算机现代的。我想添加
mpl.rcParams['font.serif']=['cm']
mpl.rcParams[]
行之间的可行。相反,它给出了这个警告
C:\ProgramData\Anaconda2\lib\site-packages\matplotlib\font_manager.py:1297: UserWarning: findfont: Font family [u'serif'] not found. Falling back to DejaVu Sans
(prop.get_family(), self.defaultFamily[fontext]))
这令人困惑。我的计算机上没有安装计算机现代字体,但由于将mathtext.fontset
设置为cm
工作正常,我认为应该有一些方法可以为font.serif
分配内部字体。< / p>
对此有什么解决方法?
答案 0 :(得分:0)
与mpl使用的内部Computer Modern字体相对应的正确ttf文件存储在数据路径中的某个位置。以下代码可以完成这项工作:
mpl.rcParams['axes.unicode_minus']=False
行
<select id="appFilter" name="appFilter"...
是解决负号问题的必需项。