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

Створення графіків деяких елементарних функцій на Python

Зміст

Всіх вітаю! У цій невеличкій статті ми розглянемо як створювати лінійні графіки за допомогою бібліотеки matplotlib та plotly. Створимо графіки деяких математичних функцій, що звуться елементарними та дізнаємося, як генерувати послідовності за допомогою numpy.

Візуалізація з matplotlib

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

Windows:

pip install matplotlib

MacOS:

pip3 install matplotlib

Linux:

pip install matplotlib

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

Отже, почнемо із ознайомлення. Наприклад, ми хочемо створити графік, який би відображав зміну значень під квадратним коренем.

Спочатку імпортуємо бібліотеку matplotlib, особливо підмодуль pyplot та називаємо її plt:

import matplotlib.pyplot as plt

Далі імпортуємо стандартний модуль math:

import math

Наступним кроком створюємо два списки: x_values та y_values. Одразу заповнюємо перший список, який буде відображатися по осі x, а другий (по осі y) ми заповнимо згодом:

x_values = [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
y_values = []

Тут ми створюємо функцію process_x_values(), у тілі якої проходимося по кожному елементу у списку x_values, знаходимо його квадратний корінь і додаємо у список y_values:

def process_x_values():
    for x in x_values:
        y_element = math.sqrt(x)
        y_values.append(y_element)

У фінальній частині програми створюємо сам графік завдяки функції plot(), надаючи їй наші списки для осей x та y, додаємо до графіка заголовок за допомогою функції title() і показуємо вікно з графіком через функцію show():

def visualizer():
    plt.plot(x_values, y_values)
    plt.title("Simple Graph")

    plt.show()

На останок викликаємо обидві функції:

process_x_values()
visualizer()

На виході отримаємо такий графік:

Наш перший графік, вітаю!

Ось і вийшов наш перший графік! Зараз ми застосували модуль math для його ралізації, але у подальшому з такою ж метою ми будемо використовувати бібліотеку numpy. Ця бібіліотека знадобиться нам для значень x далі, тому сенс використання math знакає.

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

Windows:

pip install numpy

MacOS:

pip3 install numpy

Linux:

pip install numpy

Функція linspace() у бібліотеці numpy

Функція linspace() утворює послідвоність чисел, яку ми задаємо завдяки параметрам start, stop та num. У параметрі start ми вказуємо число, з якого повинна починатися наша послідовність, stop відповідає за те, до якого числа генерувати послідовність, а num — кількість чисел у послідовності.

У наведеному нижче прикладі ми створюємо послідовніть від 0 до 10, яка містить 70 чисел:

x = np.linspace(0, 10, 70)

Ось яка вийшла послідовність:

[ 0.          0.14492754  0.28985507  0.43478261  0.57971014  0.72463768
  0.86956522  1.01449275  1.15942029  1.30434783  1.44927536  1.5942029
  1.73913043  1.88405797  2.02898551  2.17391304  2.31884058  2.46376812
  2.60869565  2.75362319  2.89855072  3.04347826  3.1884058   3.33333333
  3.47826087  3.62318841  3.76811594  3.91304348  4.05797101  4.20289855
  4.34782609  4.49275362  4.63768116  4.7826087   4.92753623  5.07246377
  5.2173913   5.36231884  5.50724638  5.65217391  5.79710145  5.94202899
  6.08695652  6.23188406  6.37681159  6.52173913  6.66666667  6.8115942
  6.95652174  7.10144928  7.24637681  7.39130435  7.53623188  7.68115942
  7.82608696  7.97101449  8.11594203  8.26086957  8.4057971   8.55072464
  8.69565217  8.84057971  8.98550725  9.13043478  9.27536232  9.42028986
  9.56521739  9.71014493  9.85507246 10.        ]

Створення графіків деяких елементарних функцій з matplotlib

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

Графік sin(x)

Створюємо графік для синуса:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 70)
y = np.sin(x)


def visualizer():
    plt.plot(x, y)
    plt.title("sin(x)")

    plt.show()


visualizer()
Графік синуса

Тут і далі ми викликаємо математичні функції через numpy, як це показано нижче:

y = np.sin(x)

Графік cos(x)

Створюємо графік для косинус:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 70)
y = np.cos(x)


def visualizer():
    plt.plot(x, y)
    plt.title("cos(x)")

    plt.show()


visualizer()
Графік косинуса

Графік log(x)

Створюємо графік для тангенса:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 70)
y = np.log(x)


def visualizer():
    plt.plot(x, y)
    plt.title("log(x)")

    plt.show()


visualizer()
Графік log(x)

Графік sqrt(x)

Створюємо графік для котангенса:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 70)
y = np.sqrt(x)


def visualizer():
    plt.plot(x, y)
    plt.title("sqrt(x)")

    plt.show()


visualizer()
Графік квадратного кореня

Графік exp(x)

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 70)
y = np.exp(x)


def visualizer():
    plt.plot(x, y)
    plt.title("exp(x)")

    plt.show()


visualizer()
Графік експоненти

Візуалізація з plotly

А тепер пропоную відійти від базової бібліотеки matplotlib і створити ці графіки у бібліотеці plotly, яка також дозволяє створювати графіки, але більш красиві за виглядом.

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

Windows:

pip install plotly

MacOS:

pip3 install plotly

Linux:

pip install plotly

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

Спочатку імпортуємо бібліотеки numpy та plotly. З бібліотеки plotly нам конкретно треба імпорутвати пакет graph_objects:

import numpy as np
import plotly.graph_objects as go

Значення x залишаємо незмінними, а от значення y нехай приймає значення x у кубі:

x = np.linspace(0, 10, 70)
y = np.pow(x, 3)

Далі перейдемо до безпосереднього створення лінійного графіка. Створюємо функцію cubic_graph(), де створюємо сам графік:

def cubic_graph(x, y):
    linear_graph = go.Figure(data=go.Scatter(x=x, y=y))
    linear_graph.update_layout(title="Графік x у кубі")
    linear_graph.show()


cubic_graph(x, y)

Тут ми спочатку створюємо графік, вказуючи значення x та y для нього:

linear_graph = go.Figure(data=go.Scatter(x=x, y=y))

Далі вказуємо заголовок для графіка:

linear_graph.update_layout(title="Графік x у кубі")

Під кінець показуємо графік:

linear_graph.show()

Ось повний код, який в нас вийшов:

import numpy as np
import plotly.graph_objects as go

x = np.linspace(0, 10, 70)
y = np.pow(x, 3)


def cubic_graph(x, y):
    linear_graph = go.Figure(data=go.Scatter(x=x, y=y))
    linear_graph.update_layout(title="Графік x у кубі")
    linear_graph.show()


cubic_graph(x, y)

Тепер нарешті настав час запустити код:

Наш перший графік з plotly

Також слід відмітити, що plotly виводить графіки на веб-сторінці, що виникне після запуску коду.

Графіки деяких елементарних функцій з plotly

Графік sin(x)

import numpy as np
import plotly.graph_objects as go

x = np.linspace(0, 10, 70)
y = np.sin(x)


def sin_graph(x, y):
    linear_graph = go.Figure(data=go.Scatter(x=x, y=y))
    linear_graph.update_layout(title="Графік sin(x)")
    linear_graph.show()


sin_graph(x, y)
Графік синуса

Графік cos(x)

import numpy as np
import plotly.graph_objects as go

x = np.linspace(0, 10, 70)
y = np.cos(x)


def cos_graph(x, y):
    linear_graph = go.Figure(data=go.Scatter(x=x, y=y))
    linear_graph.update_layout(title="Графік cos(x)")
    linear_graph.show()


cos_graph(x, y)
Графік косинуса

Графік log(x)

import numpy as np
import plotly.graph_objects as go

x = np.linspace(0, 10, 70)
y = np.log(x)


def log_graph(x, y):
    linear_graph = go.Figure(data=go.Scatter(x=x, y=y))
    linear_graph.update_layout(title="Графік log(x)")
    linear_graph.show()


log_graph(x, y)
Графік логарифма

Графік sqrt(x)

import numpy as np
import plotly.graph_objects as go

x = np.linspace(0, 10, 70)
y = np.sqrt(x)


def sqrt_graph(x, y):
    linear_graph = go.Figure(data=go.Scatter(x=x, y=y))
    linear_graph.update_layout(title="Графік sqrt(x)")
    linear_graph.show()


sqrt_graph(x, y)
Графік квадратного кореня

Графік exp(x)

import numpy as np
import plotly.graph_objects as go

x = np.linspace(0, 10, 70)
y = np.exp(x)


def exp_graph(x, y):
    linear_graph = go.Figure(data=go.Scatter(x=x, y=y))
    linear_graph.update_layout(title="Графік exp(x)")
    linear_graph.show()


exp_graph(x, y)
Графік експоненти

Висновок

Головна ціль цієї статті була показати, як можна створювати лінійні графіки у matplotlib та plotly. Також у рамках цієї статті ми ознайомилися з функцією linspace() для генерації послідовностей у numpy. На прикладі роботи з двома бібліотеками візуалізації створили графіки деяких елементарних функцій.

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

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

Нічний читач

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

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

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

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

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

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

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

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

    It

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

  • Як організувати безпечну роботу ІТ-компанії звідусіль?

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

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

    Харків
  • Безпорадність ВНЗ перед дистанційкою.

    Всі ви навчалися у коледжах, університетах, інститутах, бурсах, і так далі. Кожен із вас пережив студентські роки, той самий період, коли мівіна здавалася їжею богів, а сесія - була такою ж страшною як і перелом усіх частин тіла одразу у декількох місцях.

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

    Освіта
  • Шлях створення власної системи обліку

    Цей блог був створений для "самостимуляції" до роботи. В результаті я відійду від недопрограмування до Web розробки. А тут трішки про історію та плани на створення власної веб-системи управління проєктами та фінансами

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

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

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

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

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

  • Як організувати безпечну роботу ІТ-компанії звідусіль?

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

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

    Харків
  • Безпорадність ВНЗ перед дистанційкою.

    Всі ви навчалися у коледжах, університетах, інститутах, бурсах, і так далі. Кожен із вас пережив студентські роки, той самий період, коли мівіна здавалася їжею богів, а сесія - була такою ж страшною як і перелом усіх частин тіла одразу у декількох місцях.

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

    Освіта
  • Шлях створення власної системи обліку

    Цей блог був створений для "самостимуляції" до роботи. В результаті я відійду від недопрограмування до Web розробки. А тут трішки про історію та плани на створення власної веб-системи управління проєктами та фінансами

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

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