当我尝试定义自定义数学字体(使用usetex = false)时,我遇到使用matplotlib的奇怪行为:
mpl .__ version__ =' 2.0.2'用python 2.7
我定义了一个样式表(即在stylelib文件夹中的*.mplstyle
文件),我写了
mathtext.fontset = 'custom'
mathtext.rm = 'Avenir Next'
mathtext.it = 'Avenir Next:italic'
mathtext.bf = 'Avenir Next:bold'
mathtext.fallback_to_cm : True
如果我尝试用这种风格制作情节,我会收到错误:
Bad key "mathtext.rm = 'Avenir Next" on line 49 in
/Users/gp/.matplotlib/stylelib/simple.mplstyle.
You probably need to get an updated matplotlibrc file from
http://github.com/matplotlib/matplotlib/blob/master/matplotlibrc.template
or from the matplotlib source distribution
UserWarning: In /Users/gp/.matplotlib/stylelib/simple.mplstyle: Illegal line #48
"mathtext.fontset = 'custom'
"
in file "/Users/gp/.matplotlib/stylelib/simple.mplstyle"
还有关于mathtext.it
和mathtext.bf
的类似错误。
如果我改为将这些行注释掉,只是写入我用来生成绘图的py文档(在使用现在注释的关于mathtext的行加载样式之后),以下几行完美无缺(没有错误和与预期的行为)。
mpl.rcParams['mathtext.fontset'] = 'custom'
mpl.rcParams['mathtext.rm'] = 'Avenir Next'
mpl.rcParams['mathtext.it'] = 'Avenir Next:italic'
mpl.rcParams['mathtext.bf'] = 'Avenir Next:bold'
我感到很困惑,因为我的样式表的行与matplotlib纪录片中描述的一样。有人可以做任何事吗?
乔治
编辑:拼写错误
答案 0 :(得分:1)
坐了几天后,我发布了这个问题只是为了直接意识到样式文件中的语法在几个地方都是错误的。
单引号不属于那里。此外,=
必须替换为冒号:
。
然后它有效!