Что такое plt и axe в Matplotlib?

анализ данных
Что такое plt и axe в Matplotlib?

Публичный аккаунт WeChat: «Python Reading Finance» Если у вас есть какие-либо вопросы или предложения, пожалуйста, оставьте сообщение в публичном аккаунте

Учебник Pandas почти готов, давайте напишем о визуализации данныхMatplotlibсерия учебных пособий. Читатели, которые читали серию статей о пандах, должны знать, что чем больше я пишу статей, тем больше я понимаю эту вещь,MatplotlibТо же самое касается сериалов. В этой серии будут задействованыMatplotlibНекоторые простые концепции, принципы рисования, рисование обычной графики и некоторые продвинутые навыки рисования. После окончания исследования ожидаемый эффект можно использоватьMatplotlibНарисуйте такой график.

image

Эта статья впервые знакомитMatplotlibНесколько простых базовых понятий и принципов рисования, прямо к делу~

Я не знаю, сколько одноклассников, как я, просто связываюсьMatplotlib, это будет написано в книгеplt,axа такжеsubplotsВ замешательстве разных понятий, в сердце бесчисленное количество вопросительных знаков, что это? Разве картинки не нарисованы одинаково? В чем разница между ними? Ниже приведено пошаговое решение этих путаниц.

Введение концепции

Во-первых, мы должны пониматьMatplotlibКонкретную структуру нарисованного изображения см. на официальном изображении:

image.png

Давайте сначала посмотрим на красную коробку на картинке.Figureи синяя рамкаAxes, Как понять эти две вещи?

еслиMatplotlibРисование аналогично нашему обычному рисованию.FigureпредставитьБумага(часто называемое полотном),Axesпредставляет собойплощадь бумаги(Конечно, может быть несколько регионов, о которых мы поговорим позже.subplots), последняя картинка чуть ярче.

5.png

существуетFigureхолст,Axes1Область рисует панель данных,Axes2Область рисуется гистограммой,Axes3Нарисована карта местности, что я считаю вполне понятной.

Разница между двумя методами рисования

После того, как вы получите общее представление об этих двух концепциях, вы можете взглянуть наplt.plot()иax.plot()В чем разница? Два варианта использования перечислены ниже.MatplotlibКак рисуется график.

  • plt
# 第一种方式
plt.figure()
plt.plot([1,2,3],[4,5,6])
plt.show()
  • ax
# 第二种方式
fig,ax = plt.subplots()
ax.plot([1,2,3],[4,5,6])
plt.show()

Эффект рисования следующий

1.png

Видно, что при использованииplt.plot()все ещеax.plot(), результат тот же

В чем разница?

Из кода первого пути Мистер становитсяFigureхолст, то в этомНеявно создать область рисования на холсте для рисования.

Второй метод также генерируетFigureиaxesДва объекта, затемaxобъект вв пределах своей областисделать рисунок

если изОбъектно-ориентированное программирование(понятьMatplotlibрисунок важен), очевидно, что второй способ легче интерпретировать, сгенерированныйfigиaxотдельно к полотнуFigureи область рисованияAxesДля управления первый способ не очень интуитивен, если задействует субкартинкинастройки компонента, было бы трудно использовать первый метод рисования.

В реальном чертеже это также большеРекомендуется второй способ.

рисунок подсюжета

Введя следующееsubplotsУглубите свое понимание второго способа рисования

Если теперь я хочу нарисовать линейный график слева и точечный график справа на листе бумаги, как мне его нарисовать?

Сначала есть холстFigure, а во-вторых, должно быть два регионаAxes(эквивалентно двум подграфамsubplot) рисовать

# 生成画布和axes对象
# nrows=1和ncols=2分别代表1行和两列
fig,ax = plt.subplots(nrows=1,ncols=2)

Поскольку здесь две области рисования, поэтомуaxСоответствует списку, в котором хранятся дваAxesобъект.

2.png

Затем управляйте областью рисования слева и справа соответственно для рисования

fig,ax = plt.subplots(nrows=1,ncols=2)
ax[0].plot([1,2,3],[4,5,6])
ax[1].scatter([1,2,3],[4,5,6])

4.png

На самом деле, когда вы доберетесь сюда, вы обнаружите, чтоAxesОбъект соответствует одномуsubplotПод-изображения, эти под-изображения нарисованы на одном холсте.Figureвыше.

Чтение здесь может иметьMatplotlibРисование — это немного чувство, и следующая серия статей познакомит вас с ним.MatplotlibНастройки общих компонентов.

Подпишитесь на мою официальную учетную запись «Python Reading Finance» и ответьте «py» в фоновом режиме, чтобы получить пакет учебных ресурсов Python.