Друкарня від 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

Нічний читач

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

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

  • Створюємо інфографіку з Gemini та Replit

    Спершу варто обміркувати, що взагалі ми хочемо бачити і яка буде тема інфографіки. Пропоную створити інфографіку з однією стовпчиковою діаграмою, яка буде показувати найуспішніші не німі чорно-білі фільми за касовими зборами.

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

    Ші
  • Генерація QR-кодів у Python

    Всіх вітаю! У сьогоднішній статті ми розглянемо два способи, за допомогою яких можна згенерувати QR-код у Python.

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

    It

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

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

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

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