2015-01-20 6 views
7

Ich habe Schriftart Arial in meinem System installiert:Kraft matplotlibrc Arial (Pfad der Schriftart) verwenden

/usr/share/fonts/truetype/msttcorefonts/Arial_Bold_Italic.ttf 
/usr/share/fonts/truetype/msttcorefonts/arialbi.ttf 
/usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf 
/usr/share/fonts/truetype/msttcorefonts/arial.ttf 
/usr/share/fonts/truetype/msttcorefonts/ariali.ttf 
/usr/share/fonts/truetype/msttcorefonts/arialbd.ttf 
/usr/share/fonts/truetype/msttcorefonts/Arial.ttf 
/usr/share/fonts/truetype/msttcorefonts/Arial_Italic.ttf 
/usr/share/fonts/truetype/msttcorefonts/Arial_Black.ttf 
/usr/share/xbmc/media/Fonts/arial.ttf 
/usr/local/share/texmf/fonts/tfm/urw/arial 
/usr/local/share/texmf/fonts/afm/urw/arial 
/usr/local/share/texmf/fonts/vf/urw/arial 
/usr/local/share/texmf/fonts/type1/urw/arial 

Ich habe in meinem matplotlibrc einschließlich der Linie geändert:

font.sans-serif  : Arial 

Wenn ich innen überprüfen IPython:

import matplotlib.pyplot as plt 
plt.plot([1,2,3,4,5,], '*') 
t = plt.ylabel(r'1, 2, 3, 8, 9 6 11 Testing Label') 
print(t.get_fontname()) 

Die Ausgabe lautet:

myhome/local/lib/python2.7/site-packages/matplotlib-1.4.2-py2.7-linux- 
x86_64.egg/matplotlib/font_manager.py:1279: UserWarning: findfont: Font 
family [u'sans-serif'] not found. Falling back to Bitstream Vera Sans 
(prop.get_family(), self.defaultFamily[fontext])) 

Bitstream Vera Sans 

Wie kann ich dieses Verhalten ändern und Arial-Schriftarten für alle meine Plots verwenden? Warum Arial Schriftart nicht geladen ist?

Es ist interessant, dass, wenn ich Seaborn verwende, es Liberation Sans zurückgibt, wo die erste Schriftart (innerhalb der internen Schriftartliste) Arial ist und die zweite Liberation Sans ist.

+1

Es scheint, dass Ihre Frage auf der Matplotlib Mailingliste von Benjamin Root beantwortet wurde. Lösung: "lösche den Font-Cache (normalerweise in ~/.matplotlib). Fonts, die nach dem ersten Einsatz von matplotlib installiert werden, werden oft nicht erkannt." –

Antwort

9

Wie @BenjaminRoot vorgeschlagen, den Font-Cache auf ~/.matplotlib

In der Tat in meinem Debian-System, mit Python Zeug in virtualenv Ökosystem, wie Ordner in ~/.cache/matplotlib/ Ich habe alle Dateien gelöscht wurden entfernt zu löschen und Ordner und die Der Cache wurde erneut regeneriert. Jetzt funktioniert es! =]

Verwandte Themen