СегодняТемы обработки данныхВ 10-й статье мы продолжаем рассказывать о библиотеке инструментов matplot.
В статье на прошлой неделе мы представили основы использования matplot и показали несколько простых примеров, чтобы дать вам интуитивное представление об этом наборе инструментов. Мы можем просто понимать его как инструмент, специально используемый для рисования, но его функция рисования настолько мощна, что его нельзя рассматривать как простое содержимое. Причина тоже очень проста: начальник просит вас сделать данные, но на картинке, которую вы рисуете, ничего нет, и вы не знаете, какой цвет представляет какое содержание, и нет заголовка, что затрудняет чтение. , это неприемлемо.
Таким образом, нам все еще нужно изучить некоторые дополнительные способы его использования, чтобы графики, которые мы делаем, были более интуитивно понятными, отображали больше информации и были более красивыми.
Рисунок установить размер изображения
Во-первых, давайте введем очень важное понятие под названием Рисунок.Рисунок является основным объектом matplotlib., можно понять, что все данные изображения, которое мы рисуем, существуют в объекте фигуры. На самом деле, это понятие очень интуитивное, ведь фигура сама по себе имеет значение изображения в английском языке, конечно же, оно может относиться и к фигуре человека, которая находится далеко...
В компьютерной сфере есть много похожих концепций. Если мы не знаем их английского значения, мы можем найти эти концепции очень запутанными. Здесь есть концепция, и там есть концепция. Иногда, если мы можем понять ее соответствующее первоначальное английское значение, может быть вы найдете несколько сюрпризов, которые сделают ваше понимание более гладким.
Самое простое использование фигурыУстановите размер изображения, нарисованного matplotlib, мы используем сигмовидную функцию image в качестве примера, изображение, которое мы обычно рисуем, выглядит так:
Поскольку изображение будет увеличено, вам может быть сложно увидеть его размер непосредственно на изображении в статье, но, по крайней мере, мы можем видеть, что это прямоугольное изображение. Что, если мы хотим нарисовать его в виде квадрата? Или мы хотим контролировать его размер, делая его длиннее, шире или просто больше?
На этот раз нам нужно использовать фигуру, мы можем перейти в фигуруфигази этот параметрустановить его размер. Например, изображение, которое мы рисуем со следующими изменениями кода:
Даже если мы не можем видеть размер, мы видим, что изображение стало квадратным. Причина в том, что размер, который мы передаем, представляет собой кортеж (5, 5), где 5 — этоЕдиницы - дюймы. То есть, установив параметры, мы можем сделать так, чтобы нарисованное изображение отображалось в нужном нам размере, и мы можем гарантировать, что результаты будут одинаковыми независимо от того, какое устройство мы видим.
подсюжет и подсюжеты
Иногда мы хотим объединить серию графиков в большую картину, которую нам будет удобнее смотреть и получать больше информации за один раз. Есть несколько решений этой проблемы, давайте рассмотрим их по порядку.
plt.subplot
Во-первых, мы можем использовать метод plt.subplot, Subplot, как следует из названия, означает subplot. На этот раз мы передаем три числа, и первые два параметра указывают на ситуацию с общей картиной, которую мы, наконец, хотим получить. Например, если мы хотим, чтобы конечное большое изображение состояло из маленьких изображений с двумя строками и одним столбцом, мы передаем 2, 1. Третий параметр указывает, какое маленькое изображение рисуется в данный момент.
Скрытый момент здесь в том, что мыПри рисовании нескольких подграфов они рисуются один за другим, расположение эскизов очень похоже на двумерный массив. Давайте посмотрим на пример:
plt.subplot(2, 1, 1)
plt.plot(range(10))
plt.subplot(2, 1, 2)
plt.plot(x, y)
plt.show()
Можно видеть, что мы вызывали метод plot всего дважды, и перед каждым вызовом мы вызывали subplot, чтобы объявить, какой подзаговор является текущим графиком. В результате мы получаем большое изображение, состоящее из двух строк и одного столбца разных изображений.
Одна вещь, которую следует отметить о подзаголовке: если мы также вызываем plot перед вызовом подзаголовка, то мыСодержание сюжета будет очищено. Например, если мы вызовем plot еще раз перед subplot, результат будет таким же.
plt.plot(10)
plt.subplot(2, 1, 1)
plt.plot(range(10))
plt.subplot(2, 1, 2)
plt.plot(x, y)
Потому что, когда мы вызываем subplot, мы очищаем содержимое, которое уже существует в текущей фигуре, поэтому мы можем видеть только приведенные выше результаты.
figure.add_subplot
Преимущество вышеуказанного метода в том, что его очень удобно использовать, нам нужно только продолжать вызывать подзаголовок, ноНедостатком является то, что он очищает оставшееся изображение, там просто не очень интуитивно понятно. Хотя очень удобно все операции делать через plt, но запомнить такое количество API новичкам непросто.
Итак, у нас есть другой метод, который гораздо более интуитивен и больше соответствует нашим ежедневным привычкам программирования. Этот метод заключается в вызове add_subplot через фигуру. То есть после того, как мы сначала создадим объект фигуры, мы добавим к фигуре суб-изображения. Давайте также рассмотрим пример:
fig = plt.figure()
ax1 = fig.add_subplot(2, 1, 1)
ax2 = fig.add_subplot(2, 1, 2)
ax1.plot(range(10))
ax2.plot(x, y)
plt.show()
В этом коде мы сначала создаем объект фигуры, а затем создаем два объекта подзаголовка через этот объект фигуры. Наконец, мы рисуем каждый объект подсюжета отдельно, чтобы весь процесс был более плавным и близким к объектно-ориентированной идее, которую мы понимаем. Еще один момент заключается в том, что он сохраняет изменения, сделанные до создания подграфа.
Если мы добавим plt.plot(range(10)) перед этим кодом, мы увидим такой результат:
subplots
Последний метод — это подзаговоры, который является развитием второго метода. Есть ли у нас ощущение, что это очень хлопотно, когда мы используем второй метод? Потому что мы должны сначала создать фигуру, а затем создать подсюжет через фигуру. Последний объект, с которым мы работаем, — это подсюжет.В таком случае, почему мы не можем напрямую создать объект подсюжета?
Таким образом, метод подзаголовков, представленный в plt, можетСоздавайте фигуру и объекты подзаголовка напрямую, нам нужно передать только длину и ширину подграфа, который мы хотим получить. Поскольку подграфов будет несколько, возвращаемые результаты будут автоматически сохранены в двумерном массиве, и нам нужно получить к нему доступ только в виде массива.
Давайте посмотрим на пример:
Было введено основное использование фигуры и сюжета.Конечно, в дополнение к содержанию, представленному сегодня, есть много других значений, которые будут представлены в следующих статьях.
Сегодняшняя статья здесь, если вам понравилась эта статья, пожалуйста, приходите на волнукачество три, поддержите меня (Подписывайтесь, делайте репосты, лайкайте).
Оригинальная ссылка, обратите внимание
В этой статье используетсяmdniceнабор текста
- END -