Изменить размер шрифта в Matplotlib

Введение Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. Большая часть популярности Matplotlib связана с его параметрами настройки - вы можете настроить практически любой элемент из его иерархии объектов. В этом уроке мы рассмотрим, как изменить размер шрифта в Matplotlib. Изменение размера шрифта в Matplotlib Есть несколько способов изменить размер шрифтов в Matplotlib. Вы можете установить аргумент fontsize, изменить то, как Matplotlib обрабатывает шрифт

Вступление

Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. Большая часть популярности Matplotlib связана с его параметрами настройки - вы можете настроить практически любой элемент из его иерархии объектов .

В этом уроке мы рассмотрим, как изменить размер шрифта в Matplotlib .

Изменить размер шрифта в Matplotlib

Есть несколько способов изменить размер шрифтов в Matplotlib. Вы можете установить fontsize , изменить способ обработки шрифтов в Matplotlib в целом или даже изменить размер рисунка .

Давайте сначала создадим простой сюжет, на котором мы захотим изменить размер шрифтов:

 import matplotlib.pyplot as plt 
 import numpy as np 
 
 fig, ax = plt.subplots(figsize=(12, 6)) 
 
 x = np.arange(0, 10, 0.1) 
 y = np.sin(x) 
 z = np.cos(x) 
 
 ax.plot(y, color='blue', label='Sine wave') 
 ax.plot(z, color='black', label='Cosine wave') 
 ax.set_title('Sine and cosine waves') 
 ax.set_xlabel('Time') 
 ax.set_ylabel('Intensity') 
 leg = ax.legend() 
 
 plt.show() 

графикmatplotlib{.ezlazyload}

Изменить размер шрифта, используя размер шрифта

Попробуем самый простой вариант. Каждая функция, которая имеет дело с текстом, например Title , метки и все другие текстовые функции, принимает аргумент - fontsize .

Вернемся к предыдущему коду и укажем fontsize для этих элементов:

 import matplotlib.pyplot as plt 
 import numpy as np 
 
 fig, ax = plt.subplots(figsize=(12, 6)) 
 
 x = np.arange(0, 10, 0.1) 
 y = np.sin(x) 
 z = np.cos(x) 
 
 ax.plot(y, color='blue', label='Sine wave') 
 ax.plot(z, color='black', label='Cosine wave') 
 ax.set_title('Sine and cosine waves', fontsize=20) 
 ax.set_xlabel('Time', fontsize=16) 
 ax.set_ylabel('Intensity', fontsize=16) 
 leg = ax.legend() 
 
 plt.show() 

Здесь мы установили fontsize для заголовка, а также метки для времени и интенсивности. Выполнение этого кода дает:

аргумент размера шрифтаmatplotlib{.ezlazyload}

Мы также можем изменить размер шрифта в легенде, добавив prop и установив там размер шрифта:

 leg = ax.legend(prop={"size":16}) 

Это изменит размер шрифта, который в этом случае также перемещает легенду в нижний левый угол, чтобы она не перекрывалась с элементами в верхнем правом углу:

matplotlib изменить размер шрифталегенды{.ezlazyload}

Однако, хотя мы можем установить каждый размер шрифта таким образом, если у нас много текстовых элементов, и мы просто хотим единообразного общего размера - этот подход повторяется.

В таких случаях мы можем перейти к установке размера шрифта глобально .

Глобальное изменение размера шрифта

Есть два способа установить глобальный размер шрифта. Мы хотим установить для font_size новый размер. Мы можем получить к этому параметру через rcParams['font.size'] .

Один из способов - изменить их напрямую:

 import matplotlib.pyplot as plt 
 import numpy as np 
 
 fig, ax = plt.subplots(figsize=(12, 6)) 
 
 x = np.arange(0, 10, 0.1) 
 y = np.sin(x) 
 z = np.cos(x) 
 
 plt.rcParams['font.size'] = '16' 
 
 ax.plot(y, color='blue', label='Sine wave') 
 ax.plot(z, color='black', label='Cosine wave') 
 plt.xlabel('Time') 
 plt.ylabel('Intensity') 
 fig.suptitle('Sine and cosine waves') 
 leg = ax.legend() 
 
 plt.show() 

Вы должны установить их перед plot() поскольку, если вы попытаетесь применить их позже, никаких изменений не произойдет. Этот подход изменит все, что указано в качестве шрифта объектом kwargs font

Однако, когда мы запускаем этот код, становится очевидным, что ни метки x и y, ни метки x и y не изменились в размере:

matplotlib изменить размер шрифта rcparams{.ezlazyload}

В зависимости от версии Matplotlib, которую вы используете, вы не сможете изменить их с помощью параметров rc. Для них вы должны использовать axes.labelsize и xtick.labelsize / ytick.labelsize соответственно.

Если их установка не меняет размер меток, вы можете использовать функцию set() fontsize или использовать set_fontsize() :

 import matplotlib.pyplot as plt 
 import numpy as np 
 
 fig, ax = plt.subplots(figsize=(12, 6)) 
 
 x = np.arange(0, 10, 0.1) 
 y = np.sin(x) 
 z = np.cos(x) 
 
 # Set general font size 
 plt.rcParams['font.size'] = '16' 
 
 # Set tick font size 
 for label in (ax.get_xticklabels() + ax.get_yticklabels()): 
 label.set_fontsize(16) 
 
 ax.plot(y, color='blue', label='Sine wave') 
 ax.plot(z, color='black', label='Cosine wave') 
 plt.xlabel('Time', fontsize=16) 
 plt.ylabel('Intensity', fontsize=16) 
 
 fig.suptitle('Sine and cosine waves') 
 leg = ax.legend() 
 
 plt.show() 

Это приводит к:

matplotlib изменить размер шрифта xtick иlabel{.ezlazyload}

Заключение

В этом уроке мы рассмотрели несколько способов изменить размер шрифтов в Matplotlib.

Если вас интересует визуализация данных и вы не знаете, с чего начать, обязательно ознакомьтесь с нашим комплектом книг по визуализации данных в Python{.ebook-link} :

::: {style=“border: 1px solid #ebebeb;padding: 15px;"} {.ebook-link}

Визуализация данных в Python

::: {.row} ::: {.col-md-4 .col-xs-12} {.ezlazyload .img-responsive .center-block} :::

::: {.col-md-8 .col-xs-12 .my-auto} Ограниченная по времени скидка: 2 к 1, сэкономьте 50%!

✅ 30-дневная гарантия возврата денег без вопросов

✅ от начального до продвинутого

✅ Регулярно обновляется бесплатно (последнее обновление в апреле 2021 г.)

✅ Обновлено с бонусными ресурсами и руководствами ::: ::: :::

Визуализация данных в Python с помощью Matplotlib и Pandas - это книга, предназначенная для абсолютных новичков в работе с Pandas и Matplotlib с базовыми знаниями Python и позволяющая им создать прочную основу для расширенной работы с этими библиотеками - от простых графиков до анимированных трехмерных графиков с интерактивными кнопки.

Он служит подробным руководством, которое научит вас всему, что вам нужно знать о Pandas и Matplotlib, в том числе о том, как создавать типы графиков, которые не встроены в саму библиотеку.

Книга «Визуализация данных в Python» , книга для начинающих и средних разработчиков Python, проведет вас через простые манипуляции с данными с помощью Pandas, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. В частности, на протяжении 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.

Он служит уникальным практическим руководством по визуализации данных в виде множества инструментов, которые вы можете использовать в своей карьере.

comments powered by Disqus