You are currently viewing Построение графиков на Python | Набор 1

Построение графиков на Python | Набор 1

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

Установка

Самый простой способ установить matplotlib-использовать pip. Введите следующую команду в терминале:

pip install matplotlib

ИЛИ вы можете скачать его с здесь и установите его вручную.

Начало работы ( Построение линии)

# importing the required module
import matplotlib.pyplot as plt

# x axis values
x = [1,2,3]
# corresponding y axis values
y = [2,4,1]

# plotting the points
plt.plot(x, y)

# naming the x axis
plt.xlabel('x - axis')
# naming the y axis
plt.ylabel('y - axis')

# giving a title to my graph
plt.title('My first graph!')

# function to show the plot
plt.show()

Выход:

Код кажется понятным сам по себе. Были предприняты следующие шаги:

  • Определите значения оси x и соответствующие значения оси y в виде списков.
  • Нанесите их на холст, используя .plot().
  • Дайте имя оси x и оси y с помощью .xlabel() и .ylabel().
  • Дайте название вашему участку, используя .title().
  • Наконец, для просмотра вашего сюжета мы используем .show().

Нанесение двух или более линий на один и тот же участок

import matplotlib.pyplot as plt

# line 1 points
x1 = [1,2,3]
y1 = [2,4,1]
# plotting the line 1 points
plt.plot(x1, y1, label = "line 1")

# line 2 points
x2 = [1,2,3]
y2 = [4,1,3]
# plotting the line 2 points
plt.plot(x2, y2, label = "line 2")

# naming the x axis
plt.xlabel('x - axis')
# naming the y axis
plt.ylabel('y - axis')
# giving a title to my graph
plt.title('Two lines on same graph!')

# show a legend on the plot
plt.legend()

# function to show the plot
plt.show()

Выход:

  • Здесь мы строим две линии на одном графике. Мы различаем их, давая им название(label), который передается в качестве аргумента функции .plot ().
  • Небольшое прямоугольное поле, дающее информацию о типе линии и ее цвете, называется легендой. Мы можем добавить легенду к нашему сюжету, используя .legend().

Настройка участков

Здесь мы обсудим некоторые элементарные настройки, применимые практически к любому сюжету.

import matplotlib.pyplot as plt

# x axis values
x = [1,2,3,4,5,6]
# corresponding y axis values
y = [2,4,1,5,2,6]

# plotting the points
plt.plot(x, y, color='green', linestyle='dashed', linewidth = 3,
		marker='o', markerfacecolor='blue', markersize=12)

# setting x and y axis range
plt.ylim(1,8)
plt.xlim(1,8)

# naming the x axis
plt.xlabel('x - axis')
# naming the y axis
plt.ylabel('y - axis')

# giving a title to my graph
plt.title('Some cool customizations!')

# function to show the plot
plt.show()

Выход:

Как вы можете видеть, мы сделали несколько настроек, таких как

  • настройка ширины линии, стиля линии, цвета линии.
  • настройка маркера, цвета лица маркера, размера маркера.
  • переопределение диапазона осей x и y. Если переопределение не выполнено, модуль pyplot использует функцию автоматического масштабирования для установки диапазона и масштаба осей.

Гистограмма

import matplotlib.pyplot as plt

# x-coordinates of left sides of bars
left = [1, 2, 3, 4, 5]

# heights of bars
height = [10, 24, 36, 40, 5]

# labels for bars
tick_label = ['one', 'two', 'three', 'four', 'five']

# plotting a bar chart
plt.bar(left, height, tick_label = tick_label,
		width = 0.8, color = ['red', 'green'])

# naming the x-axis
plt.xlabel('x - axis')
# naming the y-axis
plt.ylabel('y - axis')
# plot title
plt.title('My bar chart!')

# function to show the plot
plt.show()

Выход:

  • Здесь мы используем plt.bar() функция построения гистограммы.
  • x-координаты левой стороны столбиков передаются вместе с высотами столбиков.
  • вы также можете дать некоторые имена координатам оси x, определив метки-галочки

Гистограмма

import matplotlib.pyplot as plt

# frequencies
ages = [2,5,70,40,30,45,50,45,43,40,44,
		60,7,13,57,18,90,77,32,21,20,40]

# setting the ranges and no. of intervals
range = (0, 100)
bins = 10

# plotting a histogram
plt.hist(ages, bins, range, color = 'green',
		histtype = 'bar', rwidth = 0.8)

# x-axis label
plt.xlabel('age')
# frequency label
plt.ylabel('No. of people')
# plot title
plt.title('My histogram')

# function to show the plot
plt.show()

Выход:

  • Здесь мы используем функцию plt.hist() для построения гистограммы.
  • частоты передаются в виде списка.
  • Диапазон может быть задан путем определения кортежа, содержащего минимальные и максимальные значения.
  • Следующий шаг состоит в том, чтобы “bin” диапазон значений, то есть разделите весь диапазон значений на ряд интервалов, а затем подсчитайте, сколько значений попадает в каждый интервал. Здесь мы определили bins

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

import matplotlib.pyplot as plt

# x-axis values
x = [1,2,3,4,5,6,7,8,9,10]
# y-axis values
y = [2,4,5,7,6,8,9,11,12,12]

# plotting points as a scatter plot
plt.scatter(x, y, label= "stars", color= "green",
			marker= "*", s=30)

# x-axis label
plt.xlabel('x - axis')
# frequency label
plt.ylabel('y - axis')
# plot title
plt.title('My scatter plot!')
# showing legend
plt.legend()

# function to show the plot
plt.show()

Выход:

  • Здесь мы используем plt.scatter() функция построения точечной диаграммы.
  • В виде линии мы также определяем значения x и соответствующие значения оси y здесь.
  • Его размер можно определить с помощью s.

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

import matplotlib.pyplot as plt

# defining labels
activities = ['eat', 'sleep', 'work', 'play']

# portion covered by each label
slices = [3, 7, 8, 6]

# color for each label
colors = ['r', 'y', 'g', 'b']

# plotting the pie chart
plt.pie(slices, labels = activities, colors=colors,
		startangle=90, shadow = True, explode = (0, 0, 0.1, 0),
		radius = 1.2, autopct = '%1.1f%%')

# plotting legend
plt.legend()

# showing the plot
plt.show()

Вывод вышеприведенной программы выглядит следующим образом:

  • Здесь мы построим круговую диаграмму с помощью метода plt.pie ().
  • Прежде всего, мы определяем labels, используя список под названием activities.
  • Затем часть каждой метки может быть определена с помощью другого списка, называемого slices.
  • Цвет для каждой метки определяется с помощью списка, называемого colors.
  • shadow = True покажет тень под каждой меткой на круговой диаграмме.
  • startangle поворачивает начало круговой диаграммы на заданные градусы против часовой стрелки от оси x.
  • explode используется для задания доли радиуса, с которой мы смещаем каждый клин.
  • autopct используется для форматирования значения каждой метки. Здесь мы настроили его так, чтобы он отображал процентное значение только с точностью до 1 знака после запятой.

Построение кривых данного уравнения

# importing the required modules
import matplotlib.pyplot as plt
import numpy as np

# setting the x - coordinates
x = np.arange(0, 2*(np.pi), 0.1)
# setting the corresponding y - coordinates
y = np.sin(x)

# plotting the points
plt.plot(x, y)

# function to show the plot
plt.show()

Вывод:

из приведенной выше программы выглядит так:

Здесь мы используем NumPy, который является пакетом обработки массивов общего назначения на python.
 

  • Чтобы задать значения по оси x, мы используемметод np.arange (), в котором первые два аргумента относятся к диапазону, а третий-к пошаговому приращению. В результате получается массив NumPy.
  • Чтобы получить соответствующие значения по оси y, мы просто используем предопределенный метод np.sin() для массива NumPy.
  • Наконец, мы строим точки, передавая массивы x и y функции plt.plot ().

Итак, в этой части мы обсудили различные типы участков, которые мы можем создать в matplotlib. Есть еще несколько сюжетов, которые не были освещены, но самые важные из них обсуждаются здесь: