Skip to content

36. (П16) Базові графіки в matplotlib

Передумови

Мова в коді

Усі рядкові літерали, заголовки та підписи графіків, імена файлів і змінних — лише латиницею. Кирилиця допускається тільки в коментарях.

Завдання

Написати скрипт plots.py. Кожне завдання створює окрему фігуру і зберігає її у файл task_1.png, task_2.png, ... через fig.savefig(..., dpi=150). Наприкінці скрипта — один plt.show().

Використовувати лише об'єктний стиль: fig, ax = plt.subplots() і методи ax.*. На кожному графіку — заголовок і підписи осей.

Персоналізація

STUDENT_NAME = "Ivan Petrenko"   # ваше ім'я та прізвище транслітерацією
STUDENT_GROUP = "KI-31"          # ваша група
N = 7                            # ваш номер у списку групи + 5

У заголовку графіка завдання 1 має бути ваше ім'я та група.

Генератор випадкових чисел: rng = np.random.default_rng(N) — один раз на початку скрипта.

Завдання 1. Лінійний графік

  1. Створити x = np.linspace(-10, 10, 100).
  2. На одному графіку побудувати дві лінії: y = x ** 2 і y = N * x.
  3. Перша лінія — суцільна, друга — пунктирна (linestyle="--"). Додати легенду з підписами "x^2" і "N*x".
  4. Увімкнути сітку (ax.grid(True)).
  5. Заголовок графіка — ваше ім'я та група, наприклад "Ivan Petrenko, KI-31".

Завдання 2. Температура

Придумайте середню температуру за 12 місяців для свого міста.

  1. Побудувати лінійний графік із маркерами "o".
  2. На осі x підписати місяці: "Jan", "Feb", ... (set_xticks + set_xticklabels).
  3. Додати горизонтальну пунктирну лінію середньорічної температури з підписом у легенді.

Завдання 3. Стовпчикова діаграма

Придумайте 5–7 категорій і значень (наприклад, години на тиждень: sleep, study, games, sport, ...).

  1. Побудувати barh, найбільше значення — угорі.
  2. Вивести значення біля стовпчиків через bar_label.

Завдання 4. Гістограма

  1. Згенерувати 1000 значень нормального розподілу: середнє 170 + N, стандартне відхилення 8.
  2. Побудувати гістограму з 25 інтервалами.
  3. Вертикальними лініями позначити середнє та медіану (різні кольори, легенда).

Завдання 5. Scatter

  1. Згенерувати 50 точок: x = rng.uniform(0, 10, 50), y = N + 3 * x + rng.normal(0, 4, 50).
  2. Точки, у яких y вище за середнє y, — одним кольором і маркером, решта — іншим (булева маска).
  3. У консоль вивести коефіцієнт кореляції x і y (2 знаки).

Для звіту

  • код plots.py;
  • шість зображень task_1.png ... task_6.png;
  • вивід консолі (завдання 5);
  • відповідь одним реченням: чим Figure відрізняється від Axes?

Знайшли помилку чи бажаєте додати інформацію, щоб покращити курс? Створіть issue на GitHub