Линейный график Matplotlib - Учебное пособие и примеры

Введение Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. От простых до сложных визуализаций - это библиотека для большинства. В этом уроке мы рассмотрим, как построить линейный график в Matplotlib - одном из самых основных типов графиков. На линейных графиках числовые значения отображаются на одной оси, а категориальные значения - на другой. Обычно их можно использовать почти так же, как и гистограммы [/ matplotlib-bar-plot-tutorial-and-examples /], однако,

Вступление

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() 

В результате получается простой линейный график:

простой линейный графикmatplotlib

В качестве альтернативы мы могли бы полностью опустить 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 должен:

вывод значения xmatplotlib{.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() 

Это приводит к:

равномерные значения xmatplotlib{.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-оси:

Неравномерные значения xmatplotlib{.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 для вычисления экспоненциальных значений этих элементов, что привело к экспоненциальной функции в линейном масштабе:

график экспоненциальной функции вmatplotlib{.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 .

Выполнение этого кода приводит к:

линейный график в логарифмическом масштабеmatplotlib{.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() 

Это приводит к:

настройка линейных графиков вmatplotlib{.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() 

Это приводит к:

настройка линейных графиков вmatplotlib{.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.

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

comments powered by Disqus