Изменить размер рисунка в 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 ()

Вступление

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 . Выполнение этого кода дает:

синус визуализацияPython{.ezlazyload}

Объект Figure , если он не создан явно, создается по умолчанию и содержит все элементы, которые мы можем и не можем видеть. Изменение размера Figure , в свою очередь, также изменит размер наблюдаемых элементов.

Давайте посмотрим, как можно изменить размер фигуры.

Изменить размер рисунка в Matplotlib

Установите аргумент фигсайза

Во-первых, самый простой способ изменить размер фигуры - использовать аргумент 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 дюйма:

изменение размера фигуры с размероминжира{.ezlazyload}

Matplotlib / PyPlot в настоящее время не поддерживают размеры метрик, однако легко написать вспомогательную функцию для преобразования между ними:

 def cm_to_inch(value): 
 return value/2.54 

А затем отрегулируйте размер участка следующим образом:

 plt.figure(figsize=(cm_to_inch(15),cm_to_inch(10))) 

Это создаст участок размером 15 см на 10 см:

изменение размера всм{.ezlazyload}

В качестве альтернативы, если вы создаете 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() объекту Figure Затем мы можем добавить оси к этой фигуре, чтобы создать несколько подзаголовков и построить на них график.

Мы использовали add_subplot() , которая принимает ряд числовых значений. Первое число указывает, сколько строк вы хотите добавить к фигуре, второе число указывает, сколько столбцов вы хотите добавить, а третье число указывает номер графика, который вы хотите добавить.

Это означает, что если вы передали 111 в add_subplots() , к рисунку был бы добавлен один новый подзаголовок. Между тем, если бы вы использовали числа 221 , результирующий график имел бы четыре оси с двумя столбцами и двумя строками, а формируемый вами подзаголовок находится в 1-й позиции.

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

добавление подзаголовков вmatplotlib{.ezlazyload}

Установите высоту и ширину фигуры в 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() 

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

установка высоты и ширины фигуры вmatplotlib{.ezlazyload}

Наконец, вы также можете использовать 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{.ezlazyload}

Заключение

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

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

Если вас интересует визуализация данных и вы не знаете, с чего начать, обязательно ознакомьтесь с нашим комплектом книг по визуализации данных в 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