Рубрики
Без рубрики

Сюжет линии Matplotlib – полезное иллюстрированное руководство

Сюжет линии является наиболее знаковым из всех участков. Чтобы нарисовать один в Matplotlib, используйте функцию PLT.Plot () и пропустите его список номеров, используемых в качестве значений оси Y. По умолчанию значения оси X – это указатели списка прошедшей линии. MATPLOTLIB автоматически подключает точки с синей линией PER … MATPLOTLIB LINE PREATE – полезное иллюстрированное руководство Подробнее »

Автор оригинала: Adam Murphy.

Сюжет линии является наиболее знаковым из всех участков. Нарисовать один в Matplotlib, используйте PLT.PLOT () Функция и передайте его список чисел, используемых в качестве значений оси Y. По умолчанию значения оси X – это указатели списка прошедшей линии. MATPLOTLIB автоматически соединяет точки с синей линией по умолчанию. Вы можете изменить тип линии и размер маркера с дополнительными аргументами.

Синтаксис PLT.PLOT () :

plot([x], y, [fmt], *, data=None, **kwargs)

Пример звонков:

>>> plot(x, y)        # plot x and y using default line style and color
>>> plot(x, y, 'bo')  # plot x and y using blue circle markers
>>> plot(y)           # plot y using x as index array 0..N-1
>>> plot(y, 'r+')     # ditto, but with red plusses

Примеры минимальных линий

Минимальный пример заключается в следующем:

import matplotlib.pyplot as plt
plt.plot([0, 1, 2, 3])
plt.ylabel('line plot')
plt.show()

Выходной вывод, сгенерированный этими четырьмя строками кода, представляет собой следующую простую строкую строку:

Все идет нормально! Вот немного более передовой пример, используя морской стиль для сюжета:

import matplotlib.pyplot as plt
import numpy as np

# I prefer this style to the default
plt.style.use('seaborn')

# Square numbers from 0-10 inclusive
squared = [x**2 for x in range(11)]
plt.plot(squared)
plt.show()

Легкий. В этой статье я покажу вам, как добавить этикетки оси, построить несколько строк и настройте свой график, чтобы показать ваши данные.

Как и рассеянные участки, линейные участки показывают отношения между двумя переменными. В отличие от графиков разбросов, они часто используются для измерения того, как перемещаемая смена со временем. Таким образом, мы бы использовали линейный график, чтобы показать, как фондовый рынок выступил, а не разброс.

Линейные участки превосходны для данных временных рядов, потому что мы можем поместить время на ось X и все, что мы измерим на оси Y.

Давайте посмотрим на классический пример – фондовый рынок США.

Например, Matplotlib линия

Этот участок показывает индекс S & P 500 в течение 2019 года, используя настройки MATPLOTLIB. S & P 500 отслеживает лучшие 500 акций США и так и отражает фондовый рынок в целом.

Вы можете Скачать данные бесплатно онлайн.

Я разделил данные на два Numpy массивы Отказ Один для значений S & P 500 (например, SP2019 ) и один для даты (например Dates2019 ).

Примечание : Даты включают только рабочие дни, потому что фондовый рынок открыт только в рабочих днях.

# First 5 business days in 2019
>>> bus2019[:5]
[numpy.datetime64('2019-01-01'),
numpy.datetime64('2019-01-02'),
numpy.datetime64('2019-01-03'),
numpy.datetime64('2019-01-04'),
numpy.datetime64('2019-01-07')]

# First 5 S&P 500 values in 2019
# It contains some missing values (NaN - Not a Number)
>>> sp2019[:5]
array([[    nan],
      [2510.03],
      [2447.89],
      [2531.94],
      [2549.69]])

Есть пробелы на графике из-за пропущенных значений. Но данные достаточно хороши для наших целей.

Сюжет это, мы проходим SP2019 к PLT.PLOT () а потом звоните PLT.Show () Отказ

plt.plot(sp2019)
plt.show()

Большой. Он показывает значения S & P 500 на оси Y, но каковы цифры на оси X?

Если вы проходите только в списке или Numpy Array, MATPLOTLIB использует индексы списка для значений оси X.

>>> len(sp2019)
250

Поскольку в SP2019 существует 250 значений, оси X колеблются от 0 до 250.

В этом случае было бы лучше, если бы у нас были даты на оси X. Для этого мы проходим два аргумента к PLT.PLOT () Отказ Сначала значения оси X, затем оси Y.

# x-axis for dates, y-axis for S&P 500 index
plt.plot(dates2019, sp2019)
plt.show()

Matplotlib устанавливает даты равномерно и выбирает лучший уровень точности. Для этого сюжета он выбрал месяцы. Это было бы раздражает, если он выбрал даты до дня.

Наконец, давайте добавим некоторые оси этикетки и заголовок.

plt.plot(bus2019, sp2019)
plt.title('S&P500 Index - 2019')
plt.xlabel('Date')
plt.ylabel('Index')
plt.show()

Идеально. Чтобы сохранить место, я исключу строки кода, которые устанавливают метки оси и заголовок. Но убедитесь, что включите их в свои участки.

MATPLOTLIB линии графика цвета

Цвет – невероятно важная часть построения и заслуживает всей самой статьи само по себе. Проверьте морской Документы Для большого обзора.

Цвет может сделать или сломать свой участок. Некоторые цветовые схемы делают его смехостями легко понять данные, и другие делают это невозможным.

Однако одна из причин изменения цвета чисто для эстетики.

Мы выбираем цвет точек в PLT.PLOT () С ключевым словом C или цвет Отказ По умолчанию синий.

Вы можете установить Любой цвет, который вы хотите Используя кортеж RGB или RGBA (красный, зеленый, синий, альфа). Каждый элемент этих кортежей – это поплавок в [0.0, 1.0] . Вы также можете передавать шестнадцатеричную строку RGB или RGBA, как '# 1F1F1F' Отказ Однако большую часть времени вы будете использовать один из 50+ встроенных названные цвета Отказ Наиболее распространенными являются:

  • 'b' или 'синий'
  • 'R' или 'красный'
  • 'g' или 'зеленый'
  • «К» или 'чернить'
  • 'w' или 'белый'

Вот график индекса S & P500 на 2019 год, используя разные цвета

Для каждого сюжета позвоните PLT.PLOT () с Даты2019 и SP2019. . Затем установите цвет (или C ) на ваш выбор

# Blue (the default value)
plt.plot(dates2019, sp2019, color='b')

# Red
plt.plot(dates2019, sp2019, color='r')

# Green
plt.plot(dates2019, sp2019, c='g')

# Black
plt.plot(dates2019, sp2019, c='k')

MATPLOTLIB строку сюжет несколько строк

Если вы рисуете несколько линейных участков сразу, MATPLOTLIB цвета по-разному. Это облегчает распознавание различных наборов данных.

Давайте построим индекс S & P500 на 2018 и 2019 годы на одном участке, чтобы сравнить, как он выполняется каждый месяц. Вы делаете это, делая два PLT.PLOT () звонки перед звонком PLT.Show () Отказ

plt.plot(sp2019)
plt.plot(sp2018)
plt.show()

Это выглядит великолепно. Очень легко рассказать оранжевые и синие линии друг от друга. Но есть две проблемы:

  1. Ось даты не показывает даты
  2. Мы не знаем, какая линия для какого года.

Matplotlib X оси этикетка

Чтобы решить первую проблему, нам нужно переименовать числа на оси X. В Matplotlib они называются X-клещами, поэтому мы используем PLT.xticks () функция.

Это принимает два аргумента: plt.xticks (клещи, этикетки)

  • клещи – список позиций для размещения клещей
  • этикетки – список меток для описания каждого галочка

В этом случае клещи [0, 50, 100, 150, 200, 250] И этикетки – это месяцы года.

plt.plot(sp2019)
plt.plot(sp2018)

# Create ticks and labels
ticks = [0, 50, 100, 150, 200, 250]
labels = ['Jan', 'Mar', 'May', 'Jul', 'Sep', 'Nov']

# Pass to xticks
plt.xticks(ticks, labels)
plt.show()

Теперь давайте узнаем, какую строку для какого года.

MATPLOTLIB LINE DEST LEGEND

Чтобы добавить легенду, мы используем plt.legend () функция. Это легко в использовании с линейными участками.

В каждом PLT.PLOT () Позвоните, прокладывайте каждую строку с метка ключевое слово. Когда вы звоните plt.legend () , Matplotlib будет нарисовать легенду с записью для каждой строки.

# Add label to 2019 plot
plt.plot(sp2019, label='2019')

# Add label to 2018 plot
plt.plot(sp2018, label='2018')

# Call plt.legend to display it
plt.legend()

plt.xticks(ticks, labels)
plt.show()

Идеально. Теперь у нас есть готовый участок. Мы знаем, что представляют все оси и знают, какую строку какая. Вы можете увидеть, что 2019 год был лучшим годом почти каждый месяц.

По умолчанию Matplotlib рисует легенду в «Лучший» место нахождения. Но вы можете вручную установить его, используя loc ключевое слово И один из этих 10, самоочевины, строки:

  • «верхний план», «верхний левый», «верхний центр»
  • «Нижнее справа», «Нижний левый», «Нижний центр»
  • «Центр справа», «Центр слева»
  • «правильно» или «Центр» (по какой-то причине «левый» не вариант)

Вот несколько примеров положения легенды в разные места

Лучшая практика – поставить свою легенду где-то, где она не препятствует сюжету.

Matplotlib Linestyle.

Есть несколько линтерий, которые вы можете выбрать. Они установлены с Linestyle или Ls ключевое слово в PLT.PLOT () Отказ

Их синтаксис интуитивно понятен и легко запомнить. Вот квадратные числа со всеми возможными линстиками,

Для каждого сюжета позвоните plt.plot (в квадрате) и установить ЛИНСТИЛЬ или Ls на ваш выбор

# Solid (default)
plt.plot(squared, linestyle='-')

# Dashed
plt.plot(squared, linestyle='--')

# Dashdot
plt.plot(squared, ls='-.')

# Dotted
plt.plot(squared, ls=':')

Вы также можете пройти названия Linestyle вместо короткой формы. Ниже приведены эквивалент:

  • «Сплошное» или '-'
  • «Разбиение» или '-'
  • «Дашдот» или '-.
  • «пунктир» или ':'

Толщина линии Matplotlib

Вы можете установить толщину строки на любое значение поплавка, передавая его на Сландвидность или LW ключевое слово в PLT.PLOT () Отказ

Вот квадратные числа с различной шириной линии. Меньшие числа означают более тонкие линии.

plt.plot(squared, linewidth=1)

plt.plot(squared, linewidth=3.25)

plt.plot(squared, lw=10)

plt.plot(squared, lw=15.35)

Ширина линии MatPlotlib

Вы можете установить ширину линии на любое значение Float, передавая его на Сландвидность или LW ключевое слово в PLT.PLOT () Отказ

Вот квадратные числа с различной шириной линии

Сюжет линии Matplotlib с маркерами

По умолчанию PLT.PLOT () Присоединяется к каждой из ценностей с линией и не выделяет отдельных точек. Вы можете выделить их с Маркер ключевое слово.

Есть более 30 Встроенные маркеры выбирать из. Кроме того, вы можете использовать любое экспрессия латекса и даже определить свои собственные формы. Мы рассмотрим наиболее распространенные.

Как и большинство вещей в Matplotlib, синтаксис интуитивно понятен. Либо форма строки отражает форму маркера, либо строка представляет собой одну букву, которая соответствует первой букве формы.

  • 'o' – круг
  • '^' – треугольник вверх
  • 's' – квадрат
  • '+' – плюс
  • 'D' – алмаз
  • '$ ... $' – Латекс синтаксис например '$ \ pi $' Делает каждый маркер греческой буквы π.

Давайте посмотрим некоторые примеры

Для каждого сюжета позвоните plt.plot (в квадрате) и установить Маркер на ваш выбор

# Circle
plt.plot(squared, marker='o')

# Plus
plt.plot(squared, marker='+')

# Diamond
plt.plot(squared, marker='D')

# Triangle Up
plt.plot(squared, marker='^')

Если вы установите Linestyle = '' Вы не будете сюжетать линию, просто маркеры.

# Circle
plt.plot(squared, marker='o', linestyle='')

# Plus
plt.plot(squared, marker='+', linestyle='')

# Diamond
plt.plot(squared, marker='D', linestyle='')

# Triangle Up
plt.plot(squared, marker='^', linestyle='')

MATPLOTLIB линии плата формата строк

Установка маркера, Linestyle и цвета сюжета – это то, что вы хотите сделать все время. Так что Матплотлиб включил быстрый способ сделать это

plt.plot(y, fmt)

# with x-axis values
plt.plot(x, y, fmt)

После передачи значения оси Y и/или X или X-осей вы можете пройти фрифс . Это строка, состоящая из трех частей:

fmt = '[marker][line][color]'

Каждая часть не является обязательной, и вы можете пройти их в любом порядке. Вы можете использовать короткие маркеры формы, линьки и цвета, которые мы обсудили в этой статье. Например, 'из --g ' это маркеры круга, пунктирные линии и зеленый цвет.

# These are equivalent
plt.plot(x, y, 'o--g')
plt.plot(x, y, marker='o', linestyle='--', color='g')
plt.plot(x, y, marker='o', ls='--', c='g')

Вот несколько примеров с разными маркерами, линтериями и цветами.

# Circles, dash line, red 'o--r'
plt.plot(squared, 'o--r')

# Plus, dashdot line, green '+-.g'
plt.plot(squared, '+-.g')

# Diamonds, solid line, black 'D-k'
plt.plot(squared, 'D-k')

# Triangle up, dot line, blue 'b:^'
plt.plot(squared, 'b:^')

Если вы не укажете Linestyle в строке формата, MATPLOTLIB не нарисует строку. Это делает ваши участки похожи на график разброса. По этой причине некоторые люди предпочитают использовать PLT.PLOT () над PLT.SCatter () Отказ Выбор остается за вами.

Резюме

Теперь вы знаете все необходимые для профессиональных и эффективных линейных участков.

Вы можете изменить цвет и построить несколько строк друг на друга. Вы можете написать пользовательские этикетки для осей и заголовка. Вы можете четко объяснить разные линии, используя легенду. И вы можете настроить внешний вид вашего участка с использованием цвета, проживания, маркеров и линтерий.

Куда пойти отсюда

Вы хотите заработать больше денег? Вы в тупике 9-5 работа? Вы мечтаете о разрыве свободным и кодирующим полный рабочий день, но не уверен, как начать?

Становление штатным кодером страшно. Там так много кодирования информации, что она подавляющая.

Большинство учебных пособий учат вам Python и сказать вам, чтобы получить работу на полный рабочий день.

Это нормально Но зачем ли вы хотите другую офисную работу?

Не жаждай свобода? Разве вы не хотите путешествовать по миру? Разве вы не хотите проводить больше времени со своими друзьями и семьей?

Вряд ли есть какие-либо учебные пособия, которые учат вам Python и как быть вашим собственным боссом. И их никто не учит вас, как сделать шесть фигур в год.

До настоящего времени.

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

Звучит слишком хорошо, чтобы быть правдой, верно?

Нисколько. Я хочу показать вам точные шаги, которые я использовал здесь. Я хочу дать вам жизнь свободы. Я хочу, чтобы вы были шестизначным кодером.

Нажмите на ссылку ниже, чтобы посмотреть мою вебинар Pure-Value. Я покажу вам точные шаги, чтобы взять вас от того места, где вы находитесь в полный рабочий день Python Freelancer. Это доказаны, методы NO-BS, которые получают ваши результаты быстро.

Become Python Freelancer Course

Неважно, если вы начинаете питон или Python Pro. Если вы не делаете шесть фигур/год с Python прямо сейчас, вы узнаете что-то из этого вебинара.

Этот вебинар не будет онлайн навсегда. Нажмите на ссылку ниже, прежде чем сиденья наполнится и узнаю, как стать фрилансером Python.

использованная литература

Expert Writer & Content Creator – наука о науке и машине.

Я помогаю образовательным компаниям создавать привлечение в блоге и видеоконтентах преподавания данных науки для начинающих. В отличие от моих конкурентов, я узнаю новые концепции каждый день и так понимаю, что это нравится быть студентом.
Мои статьи легко понять, эффективны и приятно читать. Мои видео достойны, участвуют и подробно.

Работать со мной, пожалуйста, обратитесь к Upwork
https://tinyurl.com/hire-adam-murphy.

Оригинал: “https://blog.finxter.com/matplotlib-line-plot/”