Matplotlib как увеличить размер графика
Перейти к содержимому

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

  • автор:

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

Как увеличить размер графика в 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

Назар Тропанец @nazartropanets

изучаю deep learning и ML(Python)

plt.figure(figsize=(10,10)) plt.plot(x,y) plt.show()

в figsize указываете размер в инчах

Ответ написан более трёх лет назад

Как изменить размер шрифта на графике Matplotlib

Как изменить размер шрифта на графике 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() 

Изменить размер шрифта заголовка графика matplotlib

Пример 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() 

Matplotlib меняет размер шрифта меток осей

Пример 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() 

Matplotlib изменяет размер шрифта меток осей

Бонус: восстановление размеров шрифта по умолчанию

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

plt.rcParams.update(plt.rcParamsDefault) 

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *