Автор оригинала: Team Python Pool.
Окончательное Руководство По Установке Соотношения Сторон в Matplotlib
Привет гики и добро пожаловать в этой статье мы рассмотрим соотношение сторон Matplotlib. Наряду с этим мы рассмотрим его синтаксис, какое значение он имеет для графа. Для этого мы рассмотрим несколько примеров. Но сначала давайте попробуем составить общий обзор функции.
Соотношение сторон, как правило, означает отношение высоты к ширине изображения или экрана. Например, соотношение 1:1 дает нам квадрат. Поскольку мы знаем о том, что Matplotlib является библиотекой построения графиков Python. Таким образом, в данном конкретном случае соотношение сторон становится отношением оси Y к оси X. Всего в Matplotlib существует 4 системы координат, которые представляют собой данные, оси, фигуры и дисплей. В следующем разделе рассмотрим синтаксис функции, которая поможет изменить соотношение сторон.
Синтаксис
Axes.set_aspect
()
Это общий синтаксис нашей функции. С ним связано несколько параметров, которые мы рассмотрим в следующем разделе.
Параметр
1. АСПЕКТ
Этот параметр может быть автоматическим или равным. В случае auto он автоматически заполняет прямоугольник данными. Если используется equal, то в этом случае происходит то же самое масштабирование от данных к графику. Когда мы используем, это даст результаты, аналогичные.
2. РЕГУЛИРУЕМЫЙ
По умолчанию это none. Но в случае, если он не равен ни одному, он отвечает за принятие решения о том, какой параметр должен быть скорректирован, чтобы соответствовать новому аспекту.
По умолчанию это none. Но в случае, если он не равен ни одному, он отвечает за принятие решения о том, какой параметр должен быть скорректирован, чтобы соответствовать новому аспекту.
Это решает, где будут нарисованы оси, если есть какое-либо дополнительное пространство из-за ограничений аспекта.
Пример
Как мы уже сделали со всей теоретической частью, связанной с соотношением сторон Matplotlib. В этом разделе мы рассмотрим, как работает эта функция и как она влияет на выходные данные. Для того чтобы сделать это сначала, нам нужно закодировать простой сюжет.
import matplotlib.pyplot as plt plt.plot([1,5],[2,3]) plt.xlabel("X-axis") plt.ylabel("Y-axis") plt.show()
Мы создали простой сюжет matplotlib. Теперь следующая цель-изменить вышеуказанное соотношение сторон графики. Давайте посмотрим, как мы можем это сделать.
import matplotlib.pyplot as plt plt.plot([1,5],[2,3]) plt.xlabel("X-axis") plt.ylabel("Y-axis").gca() axes.set_aspect(10) plt.show()
Здесь вы можете видеть, что мы успешно выполнили изменение соотношения сторон. Не будем ходить строчка за строчкой и разбираться, как это было сделано. Первое<сильное> дело-построить график, после чего мы использовали метод “gca”. Этот метод, в частности, используется для выбора текущих полярных осей. После чего мы использовали наш параметр аспекта. В конце концов, мы видим разницу между 2 графиками.
Мы также можем использовать любой из параметров, описанных выше. Позволь нам
import matplotlib.pyplot as plt plt.plot([1,5],[2,3]) plt.xlabel("X-axis") plt.ylabel("Y-axis").gca()) plt.show()
Здесь мы использовали регулируемый параметр. Мы можем остановить разницу, которую он создает по сравнению с исходным сюжетом. Главное, на что следует обратить внимание, – это то, что даже после всех внесенных нами изменений основное содержание сюжета остается неизменным.
Квадратное соотношение сторон
В matplotlib мы также можем установить квадратное соотношение сторон . Здесь вся ось имеет равные начальные и конечные точки. Приведенный ниже код показывает, как это можно выполнить.
import numpy as np import matplotlib.pyplot as plt .linspace(-2,2,100).cos(x) .figure().add_subplot(111) plt.plot(x,y) plt.xlim(-2,2) plt.ylim(-2,2) ax.set_aspect('equal') plt.xlabel("x") plt.ylabel("cosx") plt.show()
Соотношение сторон 3D-графика
import numpy as np import matplotlib.pyplot as plt .outer(np.linspace(-2, 2, 32), np.ones(32)).copy().T z = (np.sin(x ** 2) + np.tan(y ** 2)) .figure(figsize=(14, 9)).axes(projection='3d') ax.plot_surface(x, y, z) plt.show()
Выше мы можем успешно закодировать 3d-график. Сюжет представляет собой смесь функций греха и загара. Чтобы получить 3d-проекцию, мы указали ее в 3d. Теперь давайте посмотрим, как мы можем различать соотношение сторон этого сюжета.
import numpy as np import matplotlib.pyplot as plt .outer(np.linspace(-2, 2, 32), np.ones(32)).copy().T z = (np.sin(x ** 2) + np.tan(y ** 2)) .figure(figsize=(14, 9)).axes(projection='3d') ax.set_box_aspect((np.ptp(x), np.ptp(y), np.ptp(z))) ax.plot_surface(x, y, z) plt.show()
Здесь, выше, мы видим, что мы успешно изменили соотношение сторон сюжета. Чтобы изменить соотношение сторон, мы использовали функцию NumPy “ptp.” Это означает диапазон значений от пика до пика от минимума до максимума.
Соотношение сторон изображения
import numpy as np import matplotlib.pyplot as plt .reshape(np.arange(1,11),(1,10)) plt.imshow(arr) plt.show()
Выше мы успешно создали изображение с помощью функции NumPy. Затем отобразите его с помощью функции imshow. Чтобы изменить соотношение сторон, нам нужно добавить один комментарий в программу, как показано ниже.
import numpy as np import matplotlib.pyplot as plt .reshape(np.arange(1,11),(1,10)) ) plt.show()
Ограничьте соотношение сторон
В constrain the aspect ratio существует шесть основных типов параметров. (Масштабированный, Равный, плотный, автоматический, изображение, квадрат). Эти параметры можно настроить с помощью метода plt axis (). Мы увидим каждый из них в деталях один за другим. Мы будем использовать один и тот же график зависимости времени от напряжения от всех условий.
1. Масштабирование
Этот параметр одинаково масштабирует обе оси. Это означает, что вы можете нарисовать идеальный круг в своем графическом поле. Все точки данных выбросов будут масштабированы соответствующим образом, чтобы показать их.
import matplotlib.pyplot as plt import numpy as np.arange(0.0, 2.0, 0.005) + np.sin(2 * np.pi * t) fig,.subplots() axes.plot(t, s),,) axes.grid() axes.axis('scaled') fig.savefig("sample.png") plt.show()
2. Равный
Этот параметр изменяет границы осей, чтобы выровнять оба масштабирования. Вместо масштаба нам нужно использовать его в равной степени в нашем коде, чтобы получить все это.
axes.axis('equal')
Равный
Этот параметр отключает автоматическое масштабирование и устанавливает ограничение, чтобы вы могли просматривать все точки на ваших графиках. Он также включает в себя выбросы. Чтобы получить это, нам нужно сделать небольшое изменение, как показано ниже.
axes.axis('tight')
4. АВТО
Этот параметр автоматически масштабирует обе оси. Чтобы получить это, нам нужно сделать небольшое изменение, как показано ниже.
axes.axis('auto')
5. ИЗОБРАЖЕНИЕ
Этот параметр масштабируется таким образом, что ваши ограничения данных равны ограничениям оси. Чтобы получить это, нам нужно сделать небольшое изменение, как показано ниже.
axes.axis('image')
Изображение
Этот параметр заставляет участок становиться квадратным. Это означает, что оба
axes.axis('square')
Также Читайте
- Как вычислить квадратный корень в Python
- Numpy Квадратный Корень
- Как отображать изображения с помощью функции Matplotlib Imshow
- NumPy Identity Matrix
- Что такое cv2 imshow?
Вывод
В этой статье мы рассмотрели соотношение сторон Matplotlib. Мы рассмотрели синтаксис, а также различные параметры, связанные с ним. Мы также попытались углубить наше понимание, обратившись к нескольким примерам. В конце концов, можно сделать вывод, что нужно изменить соотношение сторон сюжета. Мы можем использовать функцию “.set _axes().”
Надеюсь, эта статья смогла развеять все сомнения. Но если у вас есть какие-либо нерешенные вопросы, не стесняйтесь писать их ниже в разделе комментариев. Прочитав это, почему бы не прочитать о tempfile дальше.