Как увеличить размер графика в Matplotlib

Вы можете использовать следующий синтаксис, чтобы увеличить размер одного графика в Matplotlib:
import matplotlib.pyplot as plt #define figure size in (width, height) for a single plot plt.figure(figsize=(3,3))
И вы можете использовать следующий синтаксис, чтобы увеличить размер всех графиков Matplotlib в записной книжке:
import matplotlib.pyplot as plt #define figure size in (width, height) for all plots plt.rcParams ['figure.figsize'] = [10, 7]
В следующих примерах показано, как использовать этот синтаксис на практике.
Пример 1: увеличение размера одного графика Matplotlib
Предположим, мы создаем следующий линейный график в Matplotlib:
import matplotlib.pyplot as plt #define x and y x = [1, 6, 10] y = [5, 13, 27] #create plot of x and y plt.plot (x, y) plt.show()

По умолчанию (ширина, высота) графика Matplotlib (6.4, 4.8).
Однако мы можем использовать следующий синтаксис, чтобы увеличить размер графика до любых размеров, которые нам нужны:
import matplotlib.pyplot as plt #define plot size plt.figure(figsize=(5,8)) #define x and y x = [1, 6, 10] y = [5, 13, 27] #create plot of x and y plt.plot (x, y) plt.show()

Пример 2: увеличение размера всех графиков Matplotlib
В следующем коде показано, как установить размер графика для всех графиков Matplotlib в записной книжке:
import matplotlib.pyplot as plt #define plot size for all plots plt.rcParams ['figure.figsize'] = [10, 4] #define first dataset x = [1, 6, 10] y = [5, 13, 27] #create first plot plt.plot (x, y) plt.show() #define second dataset x2 = [1, 6, 10] y2 = [5, 19, 12] #create second plot plt.plot (x2, y2) plt.show()

Обратите внимание, что оба графика имеют ширину и высоту, указанные аргументами rcParams .
Изменить размер рисунка в Matplotlib
Matplotlib — одна из наиболее широко используемых библиотек визуализации данных в Python. Большая часть популярности Matplotlib связана с его параметрами настройки — вы можете настроить практически любой элемент из его иерархии объектов.
В этом уроке мы рассмотрим, как изменить размер фигуры в Matplotlib.
Создание сюжета
Сначала создадим простой график на фигуре:
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y = np.sin(x) plt.plot(x, y) plt.show()
Здесь мы построили синусоидальную функцию, начиная от 0 и до 10 с шагом 0.1 . Выполнение этого кода дает:

Объект Figure , если явно не создан, создается по умолчанию и содержит все элементы, которые мы можем и не можем видеть. Изменение размера Figure , в свою очередь, изменит размер наблюдаемых элементов.
Давайте посмотрим, как можно изменить размер фигуры.
Изменить размер рисунка в Matplotlib
Установите аргумент figsize
Во-первых, самый простой способ изменить размер фигуры — использовать аргумент figsize . Вы можете использовать этот аргумент либо при инициализации Pyplot, либо в существующем объекте Figure .
Давайте сначала изменим его во время инициализации:
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y = np.sin(x) plt.figure(figsize=(3, 3)) plt.plot(x, y) plt.show()
Здесь мы получили доступ к экземпляру Figure , который был создан по умолчанию, и передали аргумент figsize . Обратите внимание, что размер определяется в дюймах, а не в пикселях. В результате получится фигура размером 3 на 3 дюйма:

Перед построением переменных важно установить размер фигуры.
Matplotlib / PyPlot в настоящее время не поддерживают размеры метрик, однако легко написать вспомогательную функцию для преобразования между ними:
def cm_to_inch(value): return value/2.54
А затем отрегулируйте размер графика следующим образом:
plt.figure(figsize=(cm_to_inch(15),cm_to_inch(10)))
Это создаст участок размером 15 см на 10 см:

В качестве альтернативы, если вы создаете объект Figure для своего сюжета, вы можете сразу назначить размер:
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y = np.sin(x) z = np.cos(x) fig = plt.figure(figsize=(8, 6)) # Adds subplot on position 1 ax = fig.add_subplot(121) # Adds subplot on position 2 ax2 = fig.add_subplot(122) ax.plot(x, y) ax2.plot(x, z) plt.show()
Здесь мы явно присвоили объекту возвращаемое значение функции figure() . Затем мы можем добавить оси к этой фигуре, чтобы создать несколько подзаголовков и построить на них график.
Мы использовали функцию add_subplot() , которая принимает ряд числовых значений. Первое число указывает, сколько строк вы хотите добавить к фигуре, второе число указывает, сколько столбцов вы хотите добавить, а третье число указывает номер графика, который вы хотите добавить.
Это означает, что если вы перейдете 111 в функцию add_subplots() , к рисунку будет добавлен один новый подзаголовок. Между тем, если бы вы использовали числа 221 , полученный график имел бы четыре оси с двумя столбцами и двумя строками, а формируемый вами подзаголовок находится в 1-й позиции.
Этот код приводит к:

Установите высоту и ширину фигуры в Matplotlib
Вместо аргумента figsize мы также можем установить высоту и ширину фигуры. Это можно сделать либо с помощью функции set() с figheight и figwidth , или через функции set_figheight() и set_figwidth() .
Первый позволяет вам написать одну строку для нескольких аргументов, а второй предоставляет более читаемый код.
Пойдем со вторым вариантом:
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y = np.sin(x) z = np.cos(x) fig = plt.figure() fig.set_figheight(5) fig.set_figwidth(10) # Adds subplot on position 1 ax = fig.add_subplot(121) # Adds subplot on position 2 ax2 = fig.add_subplot(122) ax.plot(x, y) ax2.plot(x, z) plt.show()
Этот код приводит к:

Наконец, вы также можете использовать эту функцию set_size_inches() :
fig = plt.figure() fig.set_size_inches(10, 5) # Adds subplot on position 1 ax = fig.add_subplot(121) # Adds subplot on position 2 ax2 = fig.add_subplot(122) ax.plot(x, y) ax2.plot(x, z) plt.show()
И это работает так же, как установка аргумента figsize или использование двух функций:
Как самому задать размер окна в matplotlib.pyplot as plt plt.show()?
Когда показывает график в plt.show () всегда по умолчании с заданным размером окна, показывает график
Как задать размер окна matplotlib.pyplot.show() ?
- Вопрос задан более трёх лет назад
- 5329 просмотров
Комментировать
Решения вопроса 1

Назар Тропанец @nazartropanets
изучаю deep learning и ML(Python)
plt.figure(figsize=(10,10)) plt.plot(x,y) plt.show()
в figsize указываете размер в инчах
Ответ написан более трёх лет назад
Как изменить размер шрифта на графике Matplotlib

Часто вам может понадобиться изменить размеры шрифта различных элементов на графике Matplotlib. К счастью, это легко сделать с помощью следующего кода:
import matplotlib.pyplot as plt plt.rc('font', size=10) #controls default text size plt.rc('axes', titlesize=10) #fontsize of the title plt.rc('axes', labelsize=10) #fontsize of the x and y labels plt.rc('xtick', labelsize=10) #fontsize of the x tick labels plt.rc('ytick', labelsize=10) #fontsize of the y tick labels plt.rc('legend', fontsize=10) #fontsize of the legend
В следующих примерах показано, как изменить размеры шрифта различных элементов на следующей диаграмме рассеяния matplotlib:
import matplotlib.pyplot as plt x = [3, 4, 6, 7, 8] y = [12, 14, 15, 19, 24] plt.scatter (x, y) plt.title('title') plt.xlabel('x_label') plt.ylabel('y_label') plt.show()

Примечание.* Размер шрифта по умолчанию для всех элементов — 10* .
Пример 1: изменение размера шрифта всех элементов
Следующий код показывает, как изменить размер шрифта каждого элемента на графике:
#set font of all elements to size 15 plt.rc('font', size= 15 ) #create plot plt.scatter (x, y) plt.title('title') plt.xlabel('x_label') plt.ylabel('y_label') plt.show()

Пример 2: изменение размера шрифта заголовка
Следующий код показывает, как изменить размер шрифта заголовка графика:
#set title font to size 50 plt.rc('axes', titlesize= 50 ) #create plot plt.scatter (x, y) plt.title('title') plt.xlabel('x_label') plt.ylabel('y_label') plt.show()

Пример 3: изменение размера шрифта меток осей
Следующий код показывает, как изменить размер шрифта меток осей графика:
#set axes labels font to size 20 plt.rc('axes', labelsize= 20 ) #create plot plt.scatter (x, y) plt.title('title') plt.xlabel('x_label') plt.ylabel('y_label') plt.show()

Пример 4: изменение размера шрифта галочек
В следующем коде показано, как изменить размер шрифта галочек на графике:
#set tick labels font to size 20 plt.rc('xtick', labelsize= 20 ) plt.rc('ytick', labelsize= 20 ) #create plot plt.scatter (x, y) plt.title('title') plt.xlabel('x_label') plt.ylabel('y_label') plt.show()

Бонус: восстановление размеров шрифта по умолчанию
Вы можете использовать следующий код для восстановления размера всех шрифтов по умолчанию в любой момент:
plt.rcParams.update(plt.rcParamsDefault)
Вы можете найти больше руководств по Matplotlib здесь .