7

I have Arial font installed in my system:

/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

I have changed inside my matplotlibrc including the line:

font.sans-serif      : Arial

If I check inside 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())

The output is:

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

How can I change this behavior and use Arial fonts for all of my plots? Why Arial font is not loaded?

It is interesting, that if I use Seaborn, it returns Liberation Sans where the first font (inside internal font list) is Arial and the second is Liberation Sans.

Dyno Fu
  • 8,753
  • 4
  • 39
  • 64
arnaldo
  • 876
  • 8
  • 22
  • 1
    It would seem your question was answered on the matplotlib mailing list by Benjamin Root. Solution: "delete the font cache (usually in ~/.matplotlib). Fonts installed after matplotlib is first used are often never recognized." – Oliver W. Jan 21 '15 at 10:04

1 Answers1

9

As suggested by @BenjaminRoot to delete the font cache on ~/.matplotlib

In fact in my Debian system, with python stuff inside virtualenv ecosystem, such folder was located at ~/.cache/matplotlib/ I have deleted all files and folder and the cache was regenerated again. Now it works! =]

arnaldo
  • 876
  • 8
  • 22