我正在寻找一种方法来生成类似于 ezplot 在 MATLAB 中的工作方式的绘图,因为我可以输入:
ezplot('x^2 + y^2 = y + 5')
并准备好图表以用于任意函数。我只担心我同时拥有 x 和 y 的情况。
我只有这个功能,如果没有必要,我真的宁愿不尝试计算某个给定 x 范围的所有 y 值。
我见过的几个建议的解决方案要么是关于决策边界(这不是。没有测试数据或任何东西,只是一个任意函数),要么都是针对已经定义为 y = some x equation 的函数真的帮了我。
如果有一种很好的方法来模仿 Wolfram|Alpha 的求解功能(“求解 x^2 + y^2 = y + 5 for y”,我会得到两个函数,然后我可以分别绘制图表) ,而是更喜欢 ezplot,因为它在 MATLAB 中或多或少是即时的。
最佳答案
我认为你可以为此使用 sympy
绘图和 parse_expr 对于你的示例,这将按如下方式工作
from sympy.plotting import plot_implicit
from sympy.parsing.sympy_parser import parse_expr
def ezplot(s):
#Parse doesn't parse = sign so split
lhs, rhs = s.replace("^","**").split("=")
eqn_lhs = parse_expr(lhs)
eqn_rhs = parse_expr(rhs)
plot_implicit(eqn_lhs-eqn_rhs)
ezplot('x^2 + y^2 = y + 5')
这可以根据需要做成通用
关于python - 在 python/pyplot 中绘制任意二维函数,如 Matlab 的 Ezplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34638040/