我正在尝试将matplotlib的默认字体改为Helvetica Neue。在我的带有EPD/Canopy的Mac电脑上,前一段时间一切正常。
现在尝试在ubuntu上做同样的事情,但它不起作用。
我就是这么做的:
已安装Helvetica Neue
$ fc-match 'Helvetica Neue':Light
HelveticaNeue-Light.otf: "Helvetica Neue" "細體"
将odt/dfont转换为ttf:
fondu -show HelveticaNeue.dfont
将matplotlibrc更改为
$ cat ~/.config/matplotlib/matplotlibrc
...
font.family: Helvetica Neue
我也尝试过:
font.family: sans-serif
font.sans-serif: Helvetica Neue
我删除了字体缓存
rm ~/.config/matplotlib/fontList.cache
但这些步骤都不适合我。
$ python -c 'from matplotlib import pyplot as plt; plt.plot(1); plt.savefig("/tmp/test.png")'
/usr/local/lib/python2.7/dist-packages/matplotlib-1.3.0-py2.7-linux-x86_64.egg/matplotlib/font_manager.py:1236:
UserWarning: findfont: Font family ['Helvetica Neue'] not found. Falling back to Bitstream Vera Sans
(prop.get_family(),self.defaultFamily[fontext]))
版本是1.3.0
$ python -c 'import matplotlib; print matplotlib.__version__'
1.3.0
我也试着把字体移到~/.config/matplotlib/fonts/ttf
但是没用。
编辑: 按照建议,我尝试为特定文本选择特定字体。
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
path = '/home/<myusername>/.fonts/HelveticaNeue.ttf'
prop = font_manager.FontProperties(fname=path)
prop.set_weight = 'light'
mpl.rcParams['font.family'] = prop.get_name()
mpl.rcParams['font.weight'] = 'light'
fig, ax = plt.subplots()
ax.set_title('Text in a cool font', fontproperties=prop, size=40)
plt.savefig('/tmp/test2.png')
但这没什么区别。
/usr/local/lib/python2.7/dist-packages/matplotlib-1.3.0-py2.7-linux-x86_64.egg/matplotlib/font_manager.py:1236:
UserWarning: findfont: Font family ['Helvetica Neue'] not found. Falling back to Bitstream Vera Sans
不过,我似乎只遇到这个Helvetica/Helvetica Neue字体的问题。 (prop.get_family(),self.defaultFamily[fontext]))
这不会永久改变你的字体,但值得一试
字体缓存显示在我的另一个位置(.cache/matplotlib/fontList.cache)。在我把他们三个放在不同的地方之前
也许可以尝试在主目录中搜索它:
Ubuntu 14.04 LTS公司
上传字体
更新字体缓存
你可以检查字体列表
重新启动ipython等。 检查字体列表
取你的字体名
绘制
相关问题 更多 >
编程相关推荐