Рубрики
Без рубрики

Matplotlib Figsize | Изменение размера графика с помощью Figsize

Чтобы изменить размер графика или графика, мы можем использовать атрибут matplotlib figsize функции matplotlib.pyplot.figure.

Автор оригинала: Team Python Pool.

Matplotlib Figsize | Изменение размера графика с помощью Figsize

Вы недавно начали работать над графиками и графиками с помощью библиотеки matplotlib и не знаете, как изменить размер фигур по своему желанию? Не волнуйся. В этой статье мы поможем вам управлять размером участков так, как вам нравится. Если вы до сих пор не исследовали мир matplotlib, вы можете начать отсюда. Итак, давайте узнаем, как использовать атрибут matplotlib figsize для настройки размера графика.

Matplotlib Figsize-это метод, используемый для изменения размера вашего окна matplotlib. В настоящее время окно по умолчанию генерируется размером 6,4×4,8 дюйма. Используя этот модуль, вы можете изменить его в любом размере.

Что такое Figsize в Python?

Matplotlib Figsize-это метод из класса pyplot, который позволяет изменять размеры графика. Поскольку каждое измерение в генерируемых графиках настраивается библиотекой, визуализировать данные в правильном формате может быть довольно сложно. В результате метод figsize очень полезен для настройки размеров, а также макетов графиков.

Мы можем сделать фигуру выше по размеру, шире, изменив размер в дюймах.

Синтаксис Matplotlib Figsize

Чтобы сделать график или график с помощью matplotlib, мы сначала должны установить его в нашей системе с помощью pip install matplotlib.

Кроме того, figsize является атрибутом класса figure() подмодуля pyplot библиотеки matplotlib. Итак, синтаксис выглядит примерно так-

matplotlib.pyplot.figure(figsize=(float,float))

Параметры-

  1. Width – Здесь мы должны ввести ширину в дюймах. Ширина по умолчанию равна 6. Чтобы расширить участок, установите ширину больше 1. А чтобы сделать график менее широким, установите ширину меньше 6.
  2. Высота – Здесь мы должны ввести высоту графика. Значение по умолчанию-4. Чтобы увеличить длину, установите высоту больше 4, а чтобы уменьшить высоту, установите высоту меньше 4.

Что такое default Figsize Matplotlib?

В Matplotlib все диаграммы создаются с размером по умолчанию 6,4 x 4,8 дюйма. Этот размер может быть изменен с помощью метода Figsize соответствующего рисунка. Этот параметр регулируется атрибутом rcParams на рисунке. Используя Figsize, вы можете изменить оба этих значения.

Значения размера фигуры по умолчанию хранятся в виде списка из двух плавающих объектов. Например, rcParams[“рис. figsize”] будет равен [6.4, 4.8] программно.

Что такое rcParams figure Figsize?

rcParams-это атрибут словаря в классе Matplotlib figure, который позволяет настроить внешний вид вашего графика. Этот атрибут отвечает за перенос данных figure size, figure DPI, figure facecolor и figure edgecolor. Все они инициализируются значениями по умолчанию [6.4, 4.8], 100, ‘w’ и ‘w’ соответственно.

Figsize-это ключ в rcParams, который изменяет размер рисунка вашей визуализации данных. На данный момент вы не можете изменить rcParams напрямую, но вы можете использовать для этого различные методы, такие как figsize.

Что такое Matplotlib Figsize Units?

Matplotlib имеет общий способ хранения всех расстояний в дюймах. Для figsize также единицы измерения по умолчанию измеряются в дюймах. если вы хотите, чтобы a использовала другую единицу измерения для figsize, вы можете добиться этого, создав функцию преобразования. Следующий пример объясняет способ инициализации Figsize в сантиметрах (cm) –

Код –

import matplotlib.pyplot as plt
import numpy as np

def cm_to_inch(value):
    return value/2.54
.arange(0, 10, 0.1).sin(x)

plt.figure(figsize=(cm_to_inch(25), cm_to_inch(15)))
plt.plot(x, y)
plt.show()

Выход –

Matplotlib Figsize Output
Matplotlib Figsize Output

Объяснение –

Сначала мы начнем с импорта библиотеки matplotlib. Затем мы создаем массив осей x, значение которого колеблется от 0 до 10 с интервалом 0,1. Функция np.sin() генерирует значения синусоидальной волновой функции. Функция cm_to_inch() преобразует все значения сантиметров в дюймы и инициализирует размеры фигуры.

Изменение высоты и ширины графика

Как высота, так и ширина могут быть изменены методом figure.figsize (). Следующий пример демонстрирует фигуры с размером по умолчанию, а после них-настроенные фигуры разных размеров.

График с размером по умолчанию

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

Мы создадим простой график, создав наши собственные данные.

import matplotlib.pyplot as plt
x=[1,2,3,4,5,6,7,8,9]
y=[i**2 for i in x]
plt.plot(x,y)
plt.title("Plot of Default Size")
matplotlib figsize
matplotlib figsize

Изменение высоты с помощью Matplotlib Figsize

Предположим, у нас есть фрейм данных pandas, который содержит информацию о некоторых видах спорта и о том, сколько людей играют в эти виды спорта. Что-то вроде этого-

Мы хотим сделать из него гистограмму, давайте сначала сделаем график с размером по умолчанию. Я сделал этот фрейм данных в виде массива, чтобы облегчить задачу.

# import the pyplot submodule of matplotlib library
# and rename it as plt
import matplotlib.pyplot as plt

# name of the sports
sports_name=['Aquatics', 'Athletics', 'Rowing', 'Gymnastics', 'Fencing', 'Football','Hockey', 'Wrestling', 'Shooting', 'Sailing', 'Cycling','Canoe / Kayak', 'Basketball', 'Volleyball', 'Equestrian', 'Handball','Boxing', 'Weightlifting', 'Judo', 'Baseball', 'Archery', 'Tennis','Rugby', 'Softball', 'Modern Pentathlon', 'Table Tennis', 'Badminton','Tug of War', 'Taekwondo', 'Polo', 'Lacrosse', 'Golf', 'Ice Hockey','Skating', 'Cricket', 'Triathlon', 'Rackets', 'Croquet','Water Motorsports', 'Basque Pelota', 'Jeu de paume', 'Roque']

# These are people which play the respective sport
people_playing_the_sports=[3828, 3448, 2523, 2214, 1547, 1387, 1325,140,105,1061,1025,1002,940,910,894,886,842,548,435,335,305,272,192,180,174,120,120,94,80,66,59,30,27,27,24,18,10,8,5,4,3,3]

# To create a bar graph use bar function of pyplot
plt.bar(sports_name,people_playing_the_sports)
# Rotate the name of sports by 90 degree in x-axis)
# show the graph 
plt.show()
matplotlib figsize
matplotlib figsize

Мы видим, что из-за недостатка места график слишком неопрятен. Для более красивого графика нам нужно изменить ширину графика. Посмотрим, как мы это сделаем.

import matplotlib.pyplot as plt
people_playing_the_sports=[3828, 3448, 2523, 2214, 1547, 1387, 1325,1140,105,1061,1025,1002,940,910,894,886,842,548,435,335,305,272,192,180,174,120,120,94,80,66,59,30,27,27,24,18,10,8,5,4,3,3]

sports_name=['Aquatics', 'Athletics', 'Rowing', 'Gymnastics', 'Fencing', 'Football','Hockey', 'Wrestling', 'Shooting', 'Sailing', 'Cycling','Canoe / Kayak', 'Basketball', 'Volleyball', 'Equestrian', 'Handball','Boxing', 'Weightlifting', 'Judo', 'Baseball', 'Archery', 'Tennis','Rugby', 'Softball', 'Modern Pentathlon', 'Table Tennis', 'Badminton','Tug of War', 'Taekwondo', 'Polo', 'Lacrosse', 'Golf', 'Ice Hockey',
'Skating', 'Cricket', 'Triathlon', 'Rackets', 'Croquet',
'Water Motorsports', 'Basque Pelota', 'Jeu de paume', 'Roque']

# Increase the width
plt.figure(figsize=(15,4))
plt.bar(Sports,people_playing_the_sports))
plt.show()

Разве сейчас не намного лучше? Просто изменение размера графика оказало такое огромное влияние, и теперь мы можем понять href=”https://en.wikipedia.org/wiki/Graph”>график намного лучше. href=”https://en.wikipedia.org/wiki/Graph”>график намного лучше.

matplotlib figsize
matplotlib figsize

Изменение высоты графика с помощью Matplotlib Figsize

Предположим, что мы создали одну и ту же гистограмму горизонтально, высота по умолчанию будет выглядеть неопрятно, не так ли? Давайте посмотрим, как мы можем увеличить высоту графика.

import matplotlib.pyplot as plt

people_playing_the_sports=[3828, 3448, 2523, 2214, 1547, 1387, 1325,1140,1105,1061,1025,1002,940,910,894,886,842,548,435,335,305,272,192,180,174,120,120,94,80,66,59,30,27,
27,24,18,10,8,5,4,3,3]

sports_name=['Aquatics', 'Athletics', 'Rowing', 'Gymnastics', 'Fencing', 'Football','Hockey', 'Wrestling', 'Shooting', 'Sailing', 'Cycling','Canoe / Kayak', 'Basketball', 'Volleyball', 'Equestrian', 'Handball','Boxing', 'Weightlifting', 'Judo', 'Baseball', 'Archery', 'Tennis','Rugby', 'Softball', 'Modern Pentathlon', 'Table Tennis', 'Badminton','Tug of War', 'Taekwondo', 'Polo', 'Lacrosse', 'Golf', 'Ice Hockey',
'Skating', 'Cricket', 'Triathlon', 'Rackets', 'Croquet',
'Water Motorsports', 'Basque Pelota', 'Jeu de paume', 'Roque']

# Increase the width and the height
plt.figure(figsize=(15,10))
plt.barh(Sports,people_playing_the_sports))
plt.show()
matplotlib figsize
matplotlib figsize

Объяснение –

Во-первых, мы начнем с импорта библиотеки matplotlib. затем мы объявили игроков, играющих в спорт и спортивные названия в списке. Затем, инициализируя фигуру matplotlib с помощью параметра figsize, мы можем создать выход большего размера. В нашем случае мы инициализировали его размером 15 х 10 дюймов. Как вы можете видеть из выходных данных, данные широко разнесены и больше, чем размеры по умолчанию.

Изменение размера figsize подзаголовков Matplotlib

Мы также можем создавать подзаголовки с помощью matplotlib. В подзаголовках мы создаем несколько подзаголовков на одной фигуре. Чем больше количество подзаголовков на рисунке, тем больше размер подзаголовка. Мы можем изменить размер фигуры, и любой размер, который мы дадим, будет разделен на подзаголовки.

import matplotlib.pyplot as plt
# make subplots with 2 rows and 1 column.
# We If there were 3 rows, we would have done-fig, (ax1,ax2,ax3)
fig,.subplots(nrows=2,ncols=1,figsize=(6,8))
y=[i*i for i in range(10)]
#plotting for 1st subplot
ax1.plot(range(10),y)
#plotting for 2nd subplot
ax2.bar(range(10),y)

Matplotlib Figsize Не работает Ошибка

Иногда мы можем получить ошибку- “matplotlib figsize не работает”. Это происходит, когда мы сначала строим график, а затем устанавливаем figsize.

import matplotlib.pyplot as plt
technologies=['Data Science', 'Cyber Security', 'Web Development', 'Android Development', 'Data Analyst'] 
number_of_students=[78,49,112,129,59]

# Wrong way-
plt.bar(technologies,number_of_students)
plt.figure(figsize=(10,5)))
plt.show()


# Correct way
plt.figure(figsize=(10,5))
plt.bar(technologies,number_of_students))
plt.show()

Это распространенная ошибка, которую могут совершить новые программисты, используя этот метод. Всегда помните, что вы можете установить figsize только перед инициализацией графика. Если график уже инициализирован, вы не можете изменить размеры фигуры. Убедитесь, что вы поместили plt.figure() перед plt.bar (), чтобы избежать этой ошибки.

Как установить размер фигуры в пикселях

Мы также можем установить размер рисунка графика или диаграммы в соответствии с монитором, для этого мы можем использовать dpi нашего монитора. Вы можете определить dpi вашего монитора с помощью поиска в Интернете. Для этого существует множество инструментов.

# the dpi of my monitor is 120
# make a figure with the follwing figsize
plt.figure(figsize=(400/my_dpi, 300/my_dpi),))
plt.show()

Надо Читать:

  • Как преобразовать строку в нижний регистр в
  • Как вычислить Квадратный корень
  • Пользовательский ввод | Функция ввода () | Ввод с клавиатуры
  • Лучшая книга для изучения Python

Вывод

Мы видели, как изменение ширины и высоты может привести к тому, что график станет намного лучше понимать и создавать идеи. Мы можем сделать это с помощью атрибута matplotlib figsize функции figure() библиотеки matplotlib.

Попробуйте запустить программы на вашей стороне и дайте нам знать, если у вас есть какие-либо вопросы.

Счастливого кодирования!