这听起来像一个简单的问题,但我没有找到任何有效的解决方案来改变python中使用matplotlib制作的图中的字体(而不是字体大小).
我发现了几个教程,通过修改matplotlib存储其默认字体的文件夹中的一些文件来更改matplotlib的默认字体 - 请参阅此博客文章 - 但我正在寻找一个不太激进的解决方案,因为我想使用多个我的情节中的字体(文字,标签,轴标签等).
如何在matplotlib中获取字体系列(或字体名称)列表.
import matplotlib.font_manager
matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
Run Code Online (Sandbox Code Playgroud)
借助此代码,我只能获得字体目录.我怎么能得到字体名称列表
"世纪教科书L","Ubuntu"等
提前致谢.
我在Canopy中使用matplotlib库,具体功能是xkcd().此功能使用特定字体绘制图表.字体是Comic Sans MS,如果不存在,应该下载.
/home/luis/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/font_manager.py:1236: UserWarning: findfont: Font family ['Humor Sans', 'Comic Sans MS'] not found. Falling back to Bitstream Vera Sans (prop.get_family(), self.defaultFamily[fontext]))
Run Code Online (Sandbox Code Playgroud)
我使用下面的小脚本,它检查字体的存在/不存在.如果不存在,则下载它.
import os
import urllib2
if not os.path.exists('Humor-Sans.ttf'):
fhandle = urllib2.urlopen('http://antiyawn.com/uploads/Humor-Sans-1.0.ttf')
open('Humor-Sans.ttf', 'wb').write(fhandle.read())
Run Code Online (Sandbox Code Playgroud)
问题是我仍然没有得到正确的字体来显示.如果字体缓存出现问题,我会执行以下操作:
luis@luis-VirtualBox:~$ rm /home/luis/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/fontList.cache
Run Code Online (Sandbox Code Playgroud)
获得以下内容:
rm: cannot remove ‘/home/luis/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/fontList.cache’: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我画了一张标有纬度的地图,但我想将字体设置为"Times New Roman".如何使它成为可能?
m.drawparallels(相似之处,标签= [1,0,0,0],字体大小= 12)