Графическая функция Python из строки - PullRequest
1 голос
/ 25 октября 2019

Я пытаюсь создать графограф с помощью matplotlib.pyplot и хочу построить график функции, которая выглядит как строка

Мой код:

import matplotlib.pyplot as mpl
import numpy as np

def plot2D(*args):
    mpl.grid(1)
    xAxis = np.arange(args[1],args[2],args[3])
    def xfunction(x,input):
        return eval(input)
    print(xfunction(5,args[0]))
    mpl.plot(xAxis,xfunction(xAxis,args[0]))
    mpl.show()

plot2D("1/(x)",-1,2,0.1)

Я хочу построить егофункция 1 / x, но она выглядит как this , когда она должна выглядеть как this (desmos). Я неправильно преобразовываю строку в функцию, или я могу даже использовать matplotlib для построения графиков таких функций или мне следует использовать другую библиотеку? Как бы я пошел о графике функции, такие как х ** 2 + у ** 2 = 1? Или такие функции, как грех (х!)?

1 Ответ

1 голос
/ 25 октября 2019

Существует внутренняя проблема с функцией 1/x: она не определена в 0. Теперь в вашем коде одно из значений внутри диапазона, к сожалению, равно 0, и, таким образом, оно все запутывает. Все, что вам нужно сделать, это изменить последнюю строку кода, чтобы немного сместить диапазон, и увеличить количество шагов, чтобы получить более точные результаты: plot2D("1/x",-1.01,2,0.02). Вот сюжет: And it works quite well Если вы хотите устранить неприятную черту между ними, вам придется изменить код, чтобы разбить график на две части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...