字符串中的Python图形函数

2024-09-25 00:27:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用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甚至可以用来绘制这样的函数,或者我应该使用另一个库?我该怎么画一个像x**2+y**2=1这样的函数呢?或者像sin(x!)这样的函数?你知道吗


Tags: 函数字符串importinputmatplotlibdefasnp
1条回答
网友
1楼 · 发布于 2024-09-25 00:27:57

函数1/x有一个内在的问题:它没有在0中定义。现在,在您的代码中,不幸的是,范围内的一个值是0,因此它会把整个事情搞砸。您所要做的就是更改最后一行代码以稍微移动范围,并增加步数以获得更准确的结果:plot2D("1/x",-1.01,2,0.02)。这是绘图:And it works quite well 如果你想消除中间那条讨厌的线,你就必须修改代码,把图形一分为二。你知道吗

相关问题 更多 >