相关疑难解决方法(0)

Enthought Canopy中的Matplotlib字体

我在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)

我错过了什么?

matplotlib ipython canopy

11
推荐指数
1
解决办法
8120
查看次数

如何设置自定义字体与matplotlib全局字体的自定义路径?

我的应用程序中有一个自定义字体

app_path='/home/user1/myapp'
fname='/home/user1/myapp/font/myfont.ttf'
Run Code Online (Sandbox Code Playgroud)

要将globlal字体设置为matplotlib,文档会这样说:

plt.rcParams['font.sans-serif']=['xxx font']
Run Code Online (Sandbox Code Playgroud)

但它只适用于已经在系统字体路径中的字体,我必须在我的应用程序路径 '/home/user1/myapp/font/myfont.ttf'中使用我的自定义字体

我知道有这样的方式:

fname='/home/user1/myapp/font/myfont.ttf'
myfont=fm.FontProperties(fname=fname)
ax1.set_title('title test',fontproperties=myfont)
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的,我不想一直设置' fontproperties ',因为有一些代码要改变

python fonts matplotlib

6
推荐指数
3
解决办法
3474
查看次数

在 matplotlib 中更改字体

所以我已经尝试了几乎所有我能在 stackoverflow 上找到的东西(以及谷歌会引导我的其他任何地方);我就是不能改变该死的字体!

这是我迄今为止尝试过的非详尽清单:

按照这个问题中的建议尝试:

import matplotlib.pyplot as plt
csfont = {'fontname':'Times New Roman'}
x = [1,2,3]
y = x

plt.plot(x,y)

plt.title('Please be Times >__<',**csfont)

plt.show()
Run Code Online (Sandbox Code Playgroud)

给我这个错误日志:

>>> (executing file "<tmp 1>")
Note on using QApplication.exec_():
The GUI event loop is already running in the pyzo kernel, and exec_()
does not block. In most cases your app should run fine without the need
for modifications. For clarity, this is what the pyzo kernel does:
- Prevent deletion of …
Run Code Online (Sandbox Code Playgroud)

python fonts matplotlib python-3.x

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

matplotlib ×3

fonts ×2

python ×2

canopy ×1

ipython ×1

python-3.x ×1