Python построить график зависимости

Как построить график функции на Python при помощи Matplotlib

Python предоставляет одну из самых популярных библиотек для построения графиков под названием Matplotlib. Это кроссплатформенный проект с открытым исходным кодом для создания 2D-графиков на основе данных в массиве. Обычно он используется для визуализации данных и представлен в виде различных графиков.

Matplotlib изначально задуман Джоном Д. Хантером в 2003 году. Последняя версия matplotlib – 2.2.0, выпущенная в январе 2018 года.

Прежде чем начать работу с библиотекой matplotlib, нам необходимо установить ее в нашей среде Python.

Установка Matplotlib

Введите следующую команду в своем терминале и нажмите клавишу ВВОД.

Приведенная выше команда установит библиотеку matplotlib и ее пакет зависимостей в операционной системе Windows. Разберемся как построить график функции на Python при помощи Matplotlib.

Базовая концепция Matplotlib

График состоит из следующих частей. Давайте разберемся с этими частями.

Составляющие части графика

Figure: это целая фигура, которая может содержать одну или несколько осей(графиков). Мы можем думать о figure как о холсте, на котором хранятся сюжеты.

Axes: фигура может содержать несколько осей. Онf состоит из двух или трех(в случае 3D) объектов Axis. Каждая ось состоит из заголовка, x-метки и y-метки.

Axis: оси – это количество объектов, похожих на линии, которые отвечают за создание пределов графика.

Artist: это все, что мы видим на графике, например, текстовые объекты, объекты Line2D и объекты коллекций. Привязаны к Axes.

Введение в pyplot

Matplotlib предоставляет пакет pyplot, который используется для построения графика заданных данных. Matplotlib.pyplot – это набор функций командного стиля, которые заставляют matplotlib работать как MATLAB. Пакет pyplot содержит множество функций, которые используются для создания фигуры, создания ее области построения, дополнения графика метками, проведения некоторых линий в области построения и т. д.

Мы можем быстро построить график с помощью pyplot. Давайте посмотрим на следующий пример.

Базовый пример построения графика

Программа для создания базового примера простого графика следующая:

from matplotlib import pyplot as plt #ploting our canvas plt.plot([1,2,3],[4,5,1]) #display the graph plt.show()

Пример построения простого графика

Построение графиков разного типа

Мы можем построить различные графики, используя модуль pyplot.

Читайте также:  Prepared statement postgresql java

1. Линейный график

Линейный график используется для отображения информации в виде серии линий. Его легко строить.

from matplotlib import pyplot as plt x = [1,2,3] y = [10,11,12] plt.plot(x,y) plt.title("Line graph") plt.ylabel('Y axis') plt.xlabel('X axis') plt.show()

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

from matplotlib import pyplot as plt from matplotlib import style style.use('ggplot') x = [10, 12, 13] y = [8, 16, 6] x2 = [8, 15, 11] y2 = [6, 15, 7] plt.plot(x, y, 'b', label='line one', linewidth=5) plt.plot(x2, y2, 'r', label='line two', linewidth=5) plt.title('Epic Info') fig = plt.figure() plt.ylabel('Y axis') plt.xlabel('X axis') plt.show()

2. Столбчатая диаграмма

Одна из наиболее распространенных диаграмм, которая используется для представления данных, связанных с категориальными переменными. Функция bar() принимает три аргумента – категориальные переменные, значения и цвет.

from matplotlib import pyplot as plt Names = ['Arun','James','Ricky','Patrick'] Marks = [51,87,45,67] plt.bar(Names,Marks,color = 'blue') plt.title('Result') plt.xlabel('Names') plt.ylabel('Marks') plt.show()

3. Круговая диаграмма

Диаграмма – это круговой график, который разделен на части или сегменты. Он используется для представления процентных или пропорциональных данных, где каждый «кусок пирога» представляет определенную категорию. Давайте разберемся в приведенном ниже примере.

from matplotlib import pyplot as plt # Pie chart, where the slices will be ordered and plotted counter-clockwise: Aus_Players = 'Smith', 'Finch', 'Warner', 'Lumberchane' Runs = [42, 32, 18, 24] explode =(0.1, 0, 0, 0) # it "explode" the 1st slice fig1, ax1 = plt.subplots() ax1.pie(Runs, explode=explode, labels=Aus_Players, autopct='%1.1f%%', shadow=True, startangle=90) ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle. plt.show()

Круговая диаграмма

4. Гистограмма

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

В следующем примере мы взяли данные о различных процентах баллов учащегося и построили гистограмму в зависимости от количества учащихся. Давайте разберемся в следующем примере.

from matplotlib import pyplot as plt from matplotlib import pyplot as plt percentage = [97,54,45,10, 20, 10, 30,97,50,71,40,49,40,74,95,80,65,82,70,65,55,70,75,60,52,44,43,42,45] number_of_student = [0,10,20,30,40,50,60,70,80,90,100] plt.hist(percentage, number_of_student, histtype='bar', rwidth=0.8) plt.xlabel('percentage') plt.ylabel('Number of people') plt.title('Histogram') plt.show()

Гистограмма

Разберемся еще на одном примере.

from matplotlib import pyplot as plt # Importing Numpy Library import numpy as np plt.style.use('fivethirtyeight') mu = 50 sigma = 7 x = np.random.normal(mu, sigma, size=200) fig, ax = plt.subplots() ax.hist(x, 20) ax.set_title('Historgram') ax.set_xlabel('bin range') ax.set_ylabel('frequency') fig.tight_layout() plt.show()

Пример 2

5. Точечная диаграмма

Данная диаграмма используется для сравнения переменной по отношению к другим переменным. Она определяется как влияние одной переменной на другую. Данные представлены в виде набора точек.

from matplotlib import pyplot as plt from matplotlib import style style.use('ggplot') x = [4,8,12] y = [19,11,7] x2 = [7,10,12] y2 = [8,18,24] plt.scatter(x, y) plt.scatter(x2, y2, color='g') plt.title('Epic Info') plt.ylabel('Y axis') plt.xlabel('X axis') plt.show()

Точечная диаграмма

import matplotlib.pyplot as plt a = [2, 2.5, 3, 3.5, 4.5, 4.7, 5.0] b = [7.5, 8, 8.5, 9, 9.5, 10, 10.5] a1 = [9, 8.5, 9, 9.5, 10, 10.5, 12] b1 = [3, 3.5, 4.7, 4, 4.5, 5, 5.2] plt.scatter(a, b, label='high income low saving', color='b') plt.scatter(a1, b1, label='low income high savings', color='g') plt.xlabel('saving*100') plt.ylabel('income*1000') plt.title('Scatter Plot') plt.legend() plt.show()

Точечная диаграмма - пример 2

В этом руководстве мы обсудили все основные типы графиков, которые используются при визуализации данных. Чтобы узнать больше о графике, посетите наш учебник по matplotlib.

Читайте также:  Парные непарные теги html

Источник

Как строить красивые графики на Python с Seaborn

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

Есть множество инструментов для визуализации данных, таких как Tableau, Power BI, ChartBlocks и других, которые являются no-code инструментами. Они очень мощные, и у каждого своя аудитория. Однако для работы с сырыми данными, требующими обработки, а также в качестве песочницы, Python подойдет лучше всего.

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

Python — лучший инструмент для data science и этому много причин, но самая важная — это его экосистема библиотек. Для работы с данными в Python есть много замечательных библиотек, таких как numpy , pandas , matplotlib , tensorflow .

Matplotlib , вероятно, самая известная библиотека для построения графиков, которая доступна в Python и других языках программирования, таких как R. Именно ее уровень кастомизации и удобства в использовании ставит ее на первое место. Однако с некоторыми действиями и кастомизациями во время ее использования бывает справиться нелегко.

Разработчики создали новую библиотеку на основе matplotlib , которая называется seaborn . Seaborn такая же мощная, как и matplotlib , но в то же время предоставляет большую абстракцию для упрощения графиков и привносит некоторые уникальные функции.

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

Читайте также:  Using javascript variable in html

Что такое Seaborn?

Seaborn — это библиотека для создания статистических графиков на Python. Она основывается на matplotlib и тесно взаимодействует со структурами данных pandas.

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

Она абстрагирует сложность, позволяя вам проектировать графики в соответствии с вашими нуждами.

Установка Seaborn

Установить seaborn так же просто, как и любую другую библиотеку, для этого вам понадобится ваш любимый менеджер пакетов Python. Во время установки seaborn библиотека установит все зависимости, включая matplotlib , pandas , numpy и scipy .

Давайте уже установим seaborn и, конечно же, также пакет notebook , чтобы получить доступ к песочнице с данными.

pipenv install seaborn notebook

Помимо этого, перед началом работы давайте импортируем несколько модулей.

import seaborn as sns import pandas as pd import numpy as np import matplotlib

Строим первые графики

Перед тем, как мы начнем строить графики, нам нужны данные. Прелесть seaborn в том, что он работает непосредственно с объектами dataframe из pandas , что делает ее очень удобной. Более того, библиотека поставляется с некоторыми встроенными наборами данных, которые можно использовать прямо из кода, и не загружать файлы вручную.

Давайте посмотрим, как это работает на наборе данных о рейсах самолетов.

flights_data = sns.load_dataset("flights") flights_data.head()

Источник

Оцените статью