1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[Python] Matplotlib cannot find basic fonts

Discussão em 'Python' iniciado por Stack, Abril 11, 2025.

  1. Stack

    Stack Membro Participativo

    I am using matplotlib version 2.0.0 on Python 3 in a miniconda virtual environment. I am working on a unix scientific computing cluster where I don't have root privileges. I am generally executing python code through an ipython notebook. If I do a basic command such as:

    import matplotlib.pyplot as plt
    plt.scatter([1,5], [1,5])


    I get an error message:

    path_to_miniconda/miniconda3/envs/conda34/lib/python3.4/site-
    packages/matplotlib/font_manager.py:1297: UserWarning: findfont: Font family
    ['sans-serif'] not found. Falling back to DejaVu Sans
    (prop.get_family(), self.defaultFamily[fontext]))


    I would like to be able to use a Times New Roman font but even after deleting the Font cache file (fontList.py3k.cache) which I find from here:

    import matplotlib as mpl
    fm = mpl.font_manager
    fm.get_cachedir()


    The commands:

    mpl.rcParams['font.family'] = ['serif']
    mpl.rcParams['font.serif'] = ['Times New Roman']


    have no effect, I get the same error as above. The true type fonts directory:

    path_to_miniconda/miniconda3/envs/conda34/lib/python3.4/site-packages/matplotlib/mpl-data/fonts/ttf/

    only has 40 fonts in it of the type: DejaVuSerif,DejaVuSans,STIX,cmb, cmt, cmy

    Any idea what could be going on and how I can add additional fonts? Thanks!

    Continue reading...

Compartilhe esta Página