Пользователь Python
Matplotlib
Виды графиков в Matplotlib
Шаблон построения графика в Matplotlib
Шаблон построения графика в Matplotlib
Шаблон построения графика в Matplotlib
Шаблон построения графика в Matplotlib
Скачивание графика
Дополнительные сведения по типу линии в plot
Примеры характеристик линии
Стиль маркеров
Стиль линий
Цвета
Пример
Задание 1
Пример
Пример
Продолжение примера
Продолжение примера
Задание 2. Нарисовать график функций
Пример. Круговая диаграмма
Пример. Круговая диаграмма. Продолжение
Задание 3
Задание 4
Задание 5
439.70K
Category: programmingprogramming

ЛБ2 Matplotlib_641164bfb0deb278ce971304090ee4b0

1. Пользователь Python

Библиотеки Python. Matplotlib
Туктамышева Лилия Мухаммадиевна

2. Matplotlib

Matplotlib - фундаментальная библиотека Python для
создания статических, анимированных и интерактивных
визуализаций
pip install matplotlib
import matplotlib.pyplot as plt
2

3. Виды графиков в Matplotlib

Линейный график
Контурный график
Точечная диаграмма
Скрипичный график
Столбчатая диаграмма
Событийный график
Гистограмма
3D линии
Круговая диаграмма
3D точки
Ящик с усами
3D столбцы
Горизонтальные столбцы
3D контуры
Ступенчатый график
3D поверхность
Тепловая карта
Струйные линии
Матричный просмотр
Разностные сетки

4. Шаблон построения графика в Matplotlib

Данные
x = [...] # Ось X значения по горизонтали (время, категории, индексы)
y = [...] # Ось Y значения по вертикали (числа, величины)
Создаем график определенного размера
plt.figure(figsize=(a, b)) # a- ширина, b- высота. Размер в дюймах
(12, 8) - большой отчёт
(15, 10) - презентация
(8, 6) - статья
(4, 3) - иконка
Без параметра - размер по умолчанию (~6x4)

5. Шаблон построения графика в Matplotlib

Выбор типа графика
# Линейный
plt.plot(x, y)
Названия некоторых графиков
plt.scatter(x, y)
plt.bar(x, y)
plt.hist(y)
диаграмма рассеяния
столбчатая диаграмма
Гистограмма
plt.boxplot(data)
Ящиковая диаграмма
plt.pie(y, labels=x)
Круговая диаграмма

6. Шаблон построения графика в Matplotlib

Настройка осей и заголовка
plt.xlabel('Ось X') # задает подпись для горизонтальной оси X.
plt.ylabel('Ось Y') # устанавливает подпись для вертикальной оси Y.
plt.title('Название графика') # добавляет заголовок над графиком.
В более общем виде используем следующий синтаксис
plt.title(label, fontsize=None, color=None, loc='center', pad=None)
pad=None в plt.title() - это параметр отступа заголовка от верхнего
края области графика

7. Шаблон построения графика в Matplotlib

Отображение
plt.tight_layout() # автоматически подстраивает отступы и размеры
элементов графика, чтобы избежать перекрытий.
plt.show() # отображает все созданные графики в графическом
интерфейсе. Без этой команды график создается в памяти, но не
показывается на экране.

8. Скачивание графика

Автоматическая загрузка в браузер Google Colab
from google.colab import files
plt.savefig('график.png', dpi=300, bbox_inches='tight')
files.download('график.png’)
Jupyter Notebook
plt.savefig('график.png', dpi=300, bbox_inches='tight')

9. Дополнительные сведения по типу линии в plot

Библиотека matplotlib позволяет устанавливать такие
характеристики линии:
- маркер точек, по которым строится линия, его размер;
- стиль (сплошная, пунктирная, отсутствует и т.д.);
- цвет (красный, синий, и т.д.);
- толщина в пикселях.
9

10. Примеры характеристик линии

10

11. Стиль маркеров

11

12. Стиль линий

12

13. Цвета

13

14. Пример

› import matplotlib.pyplot as plt
› x = [0, 2, 2, 8, 14] # число пропусков
› y = [3.9, 4.8, 5, 3.8, 3] # средний балл
› plt.plot(x, y)
› plt.title("Зависимость среднего балла от числа пропусков")
› plt.xlabel("Ось X")
› plt.ylabel("Ось Y")
› plt.grid(True)
› plt.show()
14

15. Задание 1

› Изменить исходные данные, название графика, стиль
линии, стиль маркера, цвет графика (5 разных
графиков с линиями)
15

16. Пример

x = np.linspace(0, 10, 100)
# создаёт массив равномерно распределённых чисел с помощью функции np.linsp
ace()
0 — начальное значение диапазона (start);
70 — конечное значение диапазона (stop);
200 —
количество точек (num), которые нужно сгенерировать между начальным и конечн
ым значениями.
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='sin(x)', color='blue', linewidth=2)
plt.plot(x, y2, label='cos(x)', color='red', linestyle='--')
plt.legend()
plt.title('Тригонометрические функции')
plt.show()
16

17. Пример

# Создаём массив x-значений
x = np.linspace(0.1, 10, 500) # Начинаем с 0.1, чтобы избежать
деления на ноль
# Определяем сложные функции
y1 = (np.sin(x) + np.cos(2 * x)) / np.sqrt(x) # Тригонометрическая
дробь с корнем
y2 = x**2 / (x + 1) - np.tan(x / 3) # Дробно-рациональная + тангенс
y3 = np.sqrt((x**2 + 1) / (x**2 - 1)) # Корень из дроби (работает при
|x| > 1)
y4 = (x * np.sin(1 / x)) / (1 + x**2) # Осцилляции с дробью и
затуханием
17

18. Продолжение примера

# Настраиваем график
plt.figure(figsize=(12, 8))
# Строим графики
plt.plot(x, y1, label=r'$\frac{\sin(x) + \cos(2x)}{\sqrt{x}}$', color='blue',
linewidth=2)
plt.plot(x, y2, label=r'$\frac{x^2}{x+1} - \tan\left(\frac{x}{3}\right)$', color='red',
linewidth=2)
plt.plot(x, y3, label=r'$\sqrt{\frac{x^2 + 1}{x^2 - 1}}$', color='green',
linewidth=2)
plt.plot(x, y4, label=r'$\frac{x \sin(1/x)}{1 + x^2}$', color='purple', linewidth=2)
18

19. Продолжение примера

# Добавляем элементы оформления
plt.xlabel('x', fontsize=12)
plt.ylabel('y', fontsize=12)
plt.title('Графики функций', fontsize=14)
plt.legend(fontsize=10)
plt.grid(True, alpha=0.3)
plt.axhline(0, color='black', linewidth=0.8) # Ось X
plt.axvline(0, color='black', linewidth=0.8) # Ось Y
# Ограничиваем область отображения по Y, чтобы избежать выбросов
plt.ylim(-10, 10)
# Показываем график
plt.tight_layout()
plt.show()
19

20. Задание 2. Нарисовать график функций

20

21. Пример. Круговая диаграмма

Загрузим предварительно pandas.
Фрагмент исходных данных (по лб1)
21

22. Пример. Круговая диаграмма. Продолжение

import matplotlib.pyplot as plt
# Подсчёт выручки по товарам
revenue_by_product = df.groupby('product_sold')['total_revenue'].sum()
# Понадобятся сгруппированные данные из предыдущей лб1
plt.figure(figsize=(8, 8))
plt.pie(revenue_by_product.values, labels=revenue_by_product.index,
autopct='%1.1f%%', startangle=90)
plt.title('Выручка по товарам')
plt.axis('equal')
plt.show()
22

23. Задание 3

Нарисовать круговую диаграмму по своим данным:
- Разноцветную как в примере;
- В черно-белом цвете, используя штриховки и разные
оттенки серого;
- Без указания числовых значений на графике.
23

24. Задание 4

› Нарисовать столбчатую диаграмму
› Линейный график
› Точечную диаграмму
24

25. Задание 5

Оформить отчет по лб в word по требованиям ЛБ1
25
English     Русский Rules