Вступление
Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. От простых до сложных визуализаций - это библиотека для большинства.
В этом уроке мы рассмотрим, как построить линейный график в Matplotlib
- одном из самых основных типов графиков.
На линейных графиках числовые значения отображаются на одной оси, а категориальные значения - на другой. Обычно их можно использовать почти так же, как и гистограммы , хотя чаще они используются для отслеживания изменений с течением времени.
Постройте линейный график в Matplotlib
Чтобы построить линейный график в Matplotlib, вы используете
универсальную plot()
из экземпляра PyPlot. Специальной функции
lineplot()
- общая автоматически строит графики с использованием линий
или маркеров.
Давайте создадим собственный небольшой набор данных для работы:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6]
y = [1, 5, 3, 5, 7, 8]
plt.plot(x, y)
plt.show()
В результате получается простой линейный график:
В качестве альтернативы мы могли бы полностью опустить x
и просто
нанести y
. Это приведет к заполнению оси X range(len(y))
:
import matplotlib.pyplot as plt
y = [1, 5, 3, 5, 7, 8]
plt.plot(y)
plt.show()
В результате получается такой же линейный график, как и раньше,
поскольку значения x
выводятся.
В результате получается такой же линейный график, как и раньше,
поскольку значения x
выводятся. Значения x
, как предполагаемые, так
и установленные нами вручную, как в первом примере, должны иметь ту же
форму, что и y
. Если y
имеет 10 значений, x
должен:
{.ezlazyload}
Однако мы можем изменить это поведение и выйти за пределы этого
диапазона, и в этом случае y
будут сопоставлены с ними:
import matplotlib.pyplot as plt
y = [1, 5, 3, 5, 7, 8]
x = [10, 20, 30, 40, 50, 60]
plt.plot(x, y)
plt.show()
Это приводит к:
{.ezlazyload}
До сих пор мы имели дело с однородными x
Посмотрим, что будет, если мы
изменим раздачу:
import matplotlib.pyplot as plt
y = [1, 5, 3, 5, 7, 8]
x = [1, 2, 3, 4, 5, 20]
plt.plot(x, y)
plt.show()
Первая пара значений задает масштаб. И 1, 5, 3, 5, 7
, как обычно,
отображаются на 1, 2, 3, 4, 5
. Однако, поскольку 20
прыгнули из
ниоткуда, 8
нельзя просто сопоставить с ним напрямую.
Оси Х сохраняет свою равномерную шкалу, и добавляет кучу пропущенных
значений от 5..20
, то он отображает 8
до 20
, в результате чего
по прямой от 7..8
на Y-оси:
{.ezlazyload}
Постройте линейный график логарифмически в Matplotlib
Имея дело с наборами данных, которые имеют все большие числа, и особенно если их распределение склоняется к экспоненциальному, обычно строят линейный график в логарифмическом масштабе.
Вместо того, чтобы ось Y была равномерно линейной, это изменит каждый интервал, чтобы он был экспоненциально больше, чем последний.
Это приводит к тому, что экспоненциальные функции отображаются по существу в виде прямых линий. При работе с этим типом данных трудно сосредоточиться на экспоненциальных числах, и вы можете сделать его гораздо более интуитивно понятным, построив логарифмический график данных.
Давайте воспользуемся Numpy, чтобы сгенерировать экспоненциальную функцию и построить ее линейно, как мы делали раньше:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 5, 10) # [0, 0.55, 1.11, 1.66, 2.22, 2.77, 3.33, 3.88, 4.44, 5]
y = np.exp(x) # [1, 1.74, 3.03, 5.29, 9.22, 16.08, 28.03, 48.85, 85.15, 148.41]
plt.plot(x, y)
plt.show()
Это создает массив, что это находится в длине 10, и содержит значение
между 0..5
. Затем мы использовали exp()
из Numpy для вычисления
экспоненциальных значений этих элементов, что привело к экспоненциальной
функции в линейном масштабе:
{.ezlazyload}
Такая функция, хотя и простая, трудна для понимания людьми, а небольшие изменения могут легко остаться незамеченными при работе с большими наборами данных.
Теперь давайте изменим масштаб оси Y на логарифмический:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 5, 10)
y = np.exp(x)
plt.yscale('log')
plt.plot(x, y)
plt.show()
Используя экземпляр PyPlot, plt
, мы можем установить масштаб осей X и
Y. Здесь мы установили ось Y в логарифмическом масштабе с помощью
функции yscale()
.
Здесь мы также могли использовать linear
, log
, logit
и symlog
. По умолчанию - linear
.
Выполнение этого кода приводит к:
{.ezlazyload}
Настройка линейных графиков в Matplotlib
Вы можете легко настроить обычные линейные графики, передав аргументы
функции plot()
.
Обычно это такие аргументы, как linewidth
, linestyle
линии или
color
:
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randint(low=1, high=10, size=25)
plt.plot(x, color = 'blue', linewidth=3, linestyle='dashed')
plt.show()
Это приводит к:
{.ezlazyload}
Вместо dashed
, мы могли бы использовать, например, dotted
или
solid
. Хотя мы также могли использовать специальные символы, такие
как :
-
, --
и -.
:
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randint(low=1, high=10, size=25)
plt.plot(x, color = 'blue', linewidth=3, linestyle='-.')
plt.show()
Это приводит к:
{.ezlazyload}
Заключение
В этом руководстве мы рассмотрели несколько способов построения линейного графика с использованием Matplotlib и Python. Мы также рассмотрели, как построить график в логарифмическом масштабе, а также как настроить наши линейные графики.
Если вас интересует визуализация данных и вы не знаете, с чего начать, обязательно ознакомьтесь с нашим комплектом книг по визуализации данных в Python{.ebook-link} :
::: {style=“border: 1px solid #ebebeb;padding: 15px;”} {.ebook-link}
Визуализация данных в Python
::: {.row} ::: {.col-md-4 .col-xs-12} {.ezlazyload .img-responsive .center-block} :::
::: {.col-md-8 .col-xs-12 .my-auto} Станьте опасными с визуализацией данных
✅ 30-дневная гарантия возврата денег без вопросов
✅ от начального до продвинутого
✅ Регулярно обновляется бесплатно (последнее обновление в апреле 2021 г.)
✅ Обновлено с бонусными ресурсами и руководствами ::: ::: :::
Визуализация данных в Python с помощью Matplotlib и Pandas - это книга, предназначенная для абсолютных новичков в работе с Pandas и Matplotlib с базовыми знаниями Python и позволяющая им создать прочную основу для расширенной работы с этими библиотеками - от простых графиков до анимированных трехмерных графиков с интерактивными кнопки.
Он служит подробным руководством, которое научит вас всему, что вам нужно знать о Pandas и Matplotlib, в том числе о том, как создавать типы графиков, которые не встроены в саму библиотеку.
Книга «Визуализация данных в Python» , книга для начинающих и средних разработчиков Python, проведет вас через простые манипуляции с данными с помощью Pandas, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. В частности, на протяжении 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.
Он служит уникальным практическим руководством по визуализации данных в виде множества инструментов, которые вы можете использовать в своей карьере.