matplotlib 将一个方程通过一个参数传递给一个函数

cgvd09ve  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(138)

我正在写一个程序,用户输入一个数学方程(例如x^2 + 2x + 2),函数plotFunction将使用matplotlib将其绘制在一个图形上。当我输入一个参数,如“x2”,它返回错误:ValueError:Illegal format string“x2”; two marker symbols

import matplotlib.pyplot as plt
import numpy as np
class Plotter:
    def __init__(self):
        pass
        
                
    def plotFunction(self, func):     
        x = np.arange(-100, 100)
       
        y = func
        plt.plot(x, y)
        plt.show()

p1 = Plotter()
p1.plotFunction("x**2")
13z8s7eq

13z8s7eq1#

这并不完全理想,但是,这是我提出的,现在工作。

def plot_func():
    three = float(input("X ** 3:\n"))
    two = float(input("X ** 2:\n"))
    one = float(input("X:\n"))
    b = float(input("B:\n"))
    n = -10
    x = []
    y = []
    while n <= 10:
        x.append(n)
        y.append( (three * n) ** 3 + (two * n) ** 2 + (one * n) + b)
        n += 1
    return x, y

x, y = plot_func()
plt.scatter(x, y)
plt.show()

我基本上只是分解了不同的部分,它可以与任何函数一起工作,最多x3,当然你可以添加更多。如果你只有x2函数,只要让你的x**3等于0。同样,不理想,但它会工作,直到你能找到更好的东西。

相关问题