Строим графики на 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.

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.

Источник

Читайте также:  Batch files in java
Оцените статью