我在 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()
Run Code Online (Sandbox Code Playgroud)
它工作完美。由于我的计算机上没有安装 Computer Modern 字体(考虑到我安装了 TeXLive,这很奇怪,但这无关紧要。),因此matplotlib必须在内部安装它。现在,我希望我的衬线字体也能成为计算机现代字体。我以为添加
mpl.rcParams['font.serif']=['cm']
Run Code Online (Sandbox Code Playgroud)
行与行之间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]))
Run Code Online (Sandbox Code Playgroud)
这很令人困惑。我的计算机上没有安装计算机现代字体,但由于设置mathtext.fontset工作cm正常,我认为应该有某种方法来为font.serif.
对此有什么解决方案吗?
如果这是低于标准的问题,我非常抱歉,但我找不到明确的答案。
正如标题所说,为什么True and (~True)给出 -2 而True&(~True)给出 0?另外,为什么他们两个都不给False?
这是非常违反直觉的,因为我期望有一个布尔表达式&并且and应该以相同的方式工作。