Публичный аккаунт WeChat: «Python Reading Finance» Если у вас есть какие-либо вопросы или предложения, пожалуйста, оставьте сообщение в публичном аккаунте
Учебник Pandas почти готов, давайте напишем о визуализации данныхMatplotlib
серия учебных пособий. Читатели, которые читали серию статей о пандах, должны знать, что чем больше я пишу статей, тем больше я понимаю эту вещь,Matplotlib
То же самое касается сериалов. В этой серии будут задействованыMatplotlib
Некоторые простые концепции, принципы рисования, рисование обычной графики и некоторые продвинутые навыки рисования. После окончания исследования ожидаемый эффект можно использоватьMatplotlib
Нарисуйте такой график.
Эта статья впервые знакомитMatplotlib
Несколько простых базовых понятий и принципов рисования, прямо к делу~
Я не знаю, сколько одноклассников, как я, просто связываюсьMatplotlib
, это будет написано в книгеplt
,ax
а такжеsubplots
В замешательстве разных понятий, в сердце бесчисленное количество вопросительных знаков, что это? Разве картинки не нарисованы одинаково? В чем разница между ними? Ниже приведено пошаговое решение этих путаниц.
Введение концепции
Во-первых, мы должны пониматьMatplotlib
Конкретную структуру нарисованного изображения см. на официальном изображении:
Давайте сначала посмотрим на красную коробку на картинке.Figure
и синяя рамкаAxes
, Как понять эти две вещи?
еслиMatplotlib
Рисование аналогично нашему обычному рисованию.Figure
представитьБумага(часто называемое полотном),Axes
представляет собойплощадь бумаги(Конечно, может быть несколько регионов, о которых мы поговорим позже.subplots
), последняя картинка чуть ярче.
существует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()
Эффект рисования следующий
Видно, что при использовании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
объект.
Затем управляйте областью рисования слева и справа соответственно для рисования
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])
На самом деле, когда вы доберетесь сюда, вы обнаружите, чтоAxes
Объект соответствует одномуsubplot
Под-изображения, эти под-изображения нарисованы на одном холсте.Figure
выше.
Чтение здесь может иметьMatplotlib
Рисование — это немного чувство, и следующая серия статей познакомит вас с ним.Matplotlib
Настройки общих компонентов.
Подпишитесь на мою официальную учетную запись «Python Reading Finance» и ответьте «py» в фоновом режиме, чтобы получить пакет учебных ресурсов Python.