2015-10-11 16 views
8

私はラップトップにダウンロードしたRoboto Condensedフォントを使用しています。数字はmatplotlibでプロットされています。私はCSSフォントのように "@ onport"のようなフォントをGoogleフォントからインポートして、matplotlibで直接使用できるかどうか疑問に思っています。MatplotlibとJupyterでGoogleフォントを読み込むことはできますか?

私はPython用にJupyterノートブックを使用しています。方法があるかもしれない?

ベスト、 F.

+0

HTTPSを://stackoverflow.com/questions/7726852/how-to-use-a-random-otf-or-ttf-font-in-matplotlib – Oz123

+0

「オンザフライ」とはどういう意味ですか?ダウンロードをスキップして、Googleから直接ロードしますか? – Shovalt

答えて

0

あなたはgithub上のGoogleのフォント「レポからの.ttfファイルを取得することができます。そこのリストからフォントを選択し、.ttfファイルへのリンクを見つけることができます。たとえば、 'alike'ディレクトリに移動すると、 'Alike-Regular.ttf'というファイルがあります。そのファイルのURLはhttps://github.com/google/fonts/blob/master/ofl/alike/Alike-Regular.ttfです。

あなたのフォントを見つけたら、一時ファイル使用して、 "オンザフライ" matplotlibのにそれをロードするために次のコードを使用することができます。

from tempfile import NamedTemporaryFile 
import urllib2 
import matplotlib.font_manager as fm 
import matplotlib.pyplot as plt 

github_url = 'https://github.com/google/fonts/blob/master/ofl/alike/Alike-Regular.ttf' 

url = github_url + '?raw=true' # You want the actual file, not some html 

response = urllib2.urlopen(url) 
f = NamedTemporaryFile(delete=False, suffix='.ttf') 
f.write(response.read()) 
f.close() 

fig, ax = plt.subplots() 
ax.plot([1, 2, 3]) 

prop = fm.FontProperties(fname=f.name) 
ax.set_title('this is a special font:\n%s' % github_url, fontproperties=prop) 
ax.set_xlabel('This is the default font') 

plt.show() 

結果:

Plot with custom google font

関連する問題