Побудова графіків у Python

Документація та підручники з Mathplotlib

  • http://matplotlib.org/examples/index.html - Приклади

Простий графік.

Побудуємо графік функції y = x 3 +5x 2 +10 та її похідних y' та y" при х від -5 до 2.

x n записується як x**n

побудова

Короткі імена

Якщо для роботи необхідний пакет (package, library) numpy (робота з векторами), його потрібно підключити до файлу

Щоб писати менше, вигадуємокоротке ім'я пакета

Потрібні import

Інтерпретатор або запуск файлу

Робота в інтерпретаторі

Для роботи в IPython або Qtconsole потрібно написати на початку (включити побудову графіків у зошит).

Для побудови графіків над зошити, а файлі у форматі png потрібно написати

Писати plt.show() чи plt.draw() не потрібно.

Виконання програми

Наприкінці коду обов'язково має стояти або plt.show() (показати інтерактивний графік) або fig.savefig('1.png') (зберегти у файлі з ім'ям 1.png).

Як отримати графік у repl.it

  • Обов'язково зберігати малюнок у файл (наприклад, 1.png)

  • у repl.it
  • (1) Перейти в режим проекту, програма знаходиться у файлі main.py
  • (2) Run
  • (3) З'явиться (оновиться) панель 1.py, на ній можна побачити графік.

побудова

Повний код програми для repl.it

Введення в Numpy

Numpy (numeric python) – бібліотека роботи з числами.

У ньому задаються набори точок для побудови графіків.

Задаємо набір точок

Константи та функції numpy

Figure (малюнок), axes (осі)

python

fig, ax – це опис малюнка (figure) та осей (axes).

axis – вісь (1), axes – осі (багато).

Axes визначає область,де малюватимемо.

Figure має координати (0,0) у лівому нижньому кутку та (1,1) у правому верхньому кутку. Осі можна зробити не весь малюнок, а частину і додати підписи.

figsize=(8, 2.5) визначає розмір та масштаб малюнка.

fig.savefig("1a.png", dpi=100, facecolor="#f1f1f1") - зберегти файл 1a.png з роздільною здатністю 100 dpi (означає, при figsize=(8, 2.5) малюнок буде 8*100=800 на 2.5 * 100 = 250 pixel).

python

Опис ліній та маркерів

Синя лінія шириною 3 пікселя, лінія як ---- та точки відзначені трикутниками.

побудова

python

побудова

побудова

Legend (опис)

python

графіків

Axis labels and titles (написи у осей та заголовки)

Підключити українські літери (не-латинські літери, ієрогліфи)

Якщо ви хочете, щоб написи були українською, а замість них показуються незрозумілі символи, то, ймовірно, у вас вибрано фонт без підтримки потрібних літер.

Можна в кожному виклику set_title і set_xlabel, set_ylabel явно вказувати фонт, а можна вказати потрібний фонт на початку програми.

Один раз вказуємо фонт:

Потім його використовуємобагато разів у різних графіках (у функціях залишені лише обов'язкові параметри).

Axis range (діапазони осей)

побудова

Axis ticks, tick labels

python

Поставити ticks, підписати біля них labels, варіант через plt (а не осі).

Grid (решітка)

графіків

Логарифмічна шкала

Для всього малюнка

Для одного графіка (інші графіки малюнку можуть мати звичайну шкалу)

Різні шкали осі Y для різних графіків (twinx)

побудова

Декілька областей графіків

За замовчуванням створюється одне графічне вікно figure(1) та одна графічнаобласть subplot(111) у цьому вікні.

Команда subplot дозволяє розбити графічне вікно на кілька областей.

Вона має три параметри: nrows, ncols, nplot. nrows - кількість рядків; ncols - кількість стовпців; nplot - номер області (від 1 до nrows * ncols).