13

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]))

以下の小さなスクリプトを使用して、フォントの有無をチェックします。存在しない場合は、ダウンロードします。

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())

問題は、表示する正しいフォントがまだ得られないことです。フォントキャッシュに問題がある場合は、次のことを行います。

luis@luis-VirtualBox:~$ rm /home/luis/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/fontList.cache

以下を取得します。

rm: cannot remove ‘/home/luis/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/fontList.cache’: No such file or directory 

私は何が欠けていますか?

4

3 に答える 3

2

Windows 環境で作業するという (残念な) 要件があり、同じ問題に遭遇しました。Windows で作業している方のために付け加えておきたいことの 1 つは、重要なのはファイルの名前ではなく、フォントのタイトルであるということです。

私の問題では、helvetica.ttf をダウンロードしてディレクトリに配置します。

C:\Python27\Lib\site-packages\matplotlib\mpl-data\fonts\ttf

ただし、ファイルのプロパティにフォントのタイトルが「Helvetica-normal」としてリストされているため、指定していることを確認する必要がありました

font.sans-serif      : Helvetica-normal

私のmatplotlibrcファイルでは、ファイルの名前は単に「helvetica.ttf」でしたが

于 2014-02-04T20:34:00.213 に答える