Друкарня від WE.UA

Створення графіків за допомогою sympy. Частина 1.

Зміст

Всіх вітаю! У даній статті ми обговоримо, як створювати графіки за допомогою бібліотеки символьних обчислень sympy.

Встановлення необхідних бібліотек

Встановлення sympy

Windows:

pip install sympy

MacOS:

pip3 install sympy

Linux:

pip install sympy

Встановлення matplotlib

Для створення двовимірних графіків потрібно також завантажити бібліотеку matplotlib.

Windows:

pip install matplotlib

MacOS:

pip3 install matplotlib

Linux:

pip install matplotlib

У чому полягає головна особливість створення графіків, використовуючи sympy?

Головна особливість створення графіків саме за допомогою sympy полягає у тому, що ми створюємо сам графік безпосередньо за математичними сутностями, тобто за функціями та рівняннями. По суті, алгоритм створення графіків у даному випадку складається лише зі створення математичної частини та одразу ж його графічного представлення.

У процесі створення графіка ми жодного разу не вказуємо, скільки точок треба згенерувати для утворення послідовності x значень. Ми лише зазначаємо інтервал для x, але кількість точок, яку потрібно згенерувати, визначає тільки сам sympy.

Якщо порівнювати процес створення графіків, використовуючи matplotlib, то там потрібно було вказати послідовність для x, вже потім записати математичну частину.

Створення графіків

Одновимірні графіки

Пропоную реалізувати графік синуса як приклад. Тому імпортуємо з бібліотеки sympy функції sin, symbols, plot:

from sympy import sin, symbols, plot

Тепер використовуємо функцію symbols для створення символьної величини x:

x = symbols("x")

Далі створюємо фунцію синуса від нашої символьної величини x:

func = sin(x)

Створюємо графік, вказуючи у якості параметрів функцію (func) та межі x ((x, -5, 5)):

graph = plot(func, (x, -5, 5))

Повний код:

from sympy import sin, symbols, plot

x = symbols("x")
func = sin(x)

graph = plot(func, (x, -5, 5))

На прикладі коду ми бачимо, що було написано вкрай мало рядків.

Результат:

Графік y = sin(x)

Двовимірні графіки

На цьому етапі створимо графік параболи, гілки якої спрямовані вгору, за канонічним рівнянням x² = 2py. Варто зауважити, що для створення двовимірних графіків, на кшталт цього, потрібно використовувати функцію plot_implicit(), а не plot().

Спершу імпортуємо бібліотеку, а точніше функції symbols та plot:

from sympy import Eq, symbols, plot_implicit

Тепер застосуємо функцію symbols, щоб створити символьні величини x, p, y:

x, p, y = symbols("x p y")

Тепер створюємо рівняння, графік якого хочемо отримати, тобто Eq(x**2, 2 * p * y) та вказуємо значення для p за допомогою subs({p: 4}).

Ось рядок, який у нас виходить:

equation = Eq(x**2, 2 * p * y).subs({p: 4})

Тепер створюємо графік. Для цього потрібно передати такі параметри як рівняння (equation), межі x ((x, -5, 5)) та межі y ((y, -5, 5)).

Останній рядок коду:

graph = plot_implicit(equation, (x, -5, 5), (y, -5, 5))

Повний код:

from sympy import Eq, symbols, plot_implicit

x, p, y = symbols("x p y")
equation = Eq(x**2, 2 * p * y).subs({p: 4})

graph = plot_implicit(equation, (x, -5, 5), (y, -5, 5))

Результат:

Графік x² = 2py

Висновок

У рамках даної статті ми навчилися створювати одновимірні та двовимірні графіки за символьним поданням математичних формул. Також ми дещо розглянули відмінність між побудовою графіків на sympy та matplotlib.

Дякую за увагу!

Статті про вітчизняний бізнес та цікавих людей:

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Magnifique numérique
Magnifique numérique@nocturnal_reader

Нічний читач

80Довгочити
1.6KПерегляди
24Підписники
Підтримати
На Друкарні з 14 липня 2025

Більше від автора

  • Малювання ASCII-артів у Python

    Сьогодні я розповім про дуже важливу тему. А конкретно про малювання файних ASCII-артів у Python завдяки бібліотеці cowsay.

    Теми цього довгочиту:

    Програмування
  • Метод isprintable() у Python

    У цій статті ми поговоримо про метод isprintable() у Python, логіку його роботи та те, як його можна використовувати в коді.

    Теми цього довгочиту:

    Програмування
  • Конструкція match-case у Python

    Всіх вітаю! Сьогодні ми поговоримо про конструкцію match-case у Python, яка, по суті, є подібною до if-else і також виконує різні блоки коду залежно від умов.

    Теми цього довгочиту:

    Програмування

Це також може зацікавити:

  • Що таке кредитне плече

    Що таке кредитне плече в балансі між науковістю і людським переживанням. Це не холодна аналітика і не суцільна філософія, а щось третє — місце, де складність не спрощується, а пояснюється через досвід.

    Теми цього довгочиту:

    Фінансова Модель
  • Як рахувати відсотки: прості формули для повсякденного життя

    Відсотки супроводжують нас у багатьох ситуаціях: від розрахунку знижки в магазині до аналізу прибутковості інвестицій. Якщо знати базові формули, все стає значно простішим.

    Теми цього довгочиту:

    Фінанси

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити:

  • Що таке кредитне плече

    Що таке кредитне плече в балансі між науковістю і людським переживанням. Це не холодна аналітика і не суцільна філософія, а щось третє — місце, де складність не спрощується, а пояснюється через досвід.

    Теми цього довгочиту:

    Фінансова Модель
  • Як рахувати відсотки: прості формули для повсякденного життя

    Відсотки супроводжують нас у багатьох ситуаціях: від розрахунку знижки в магазині до аналізу прибутковості інвестицій. Якщо знати базові формули, все стає значно простішим.

    Теми цього довгочиту:

    Фінанси