我想使用以下代码在同一图中绘制 2 条曲线:
import sympy as syp
x, y = syp.symbols('x, y')
my_function = syp.exp(-(x-2)**2)*syp.exp(-(y-3)**2) + 2*syp.exp(-(x+1)**2)*syp.exp(-(y-1)**2)
gradient_1 = syp.diff(my_function, x)
gradient_2 = syp.diff(my_function, y)
curve_1 = syp.plot_implicit(syp.Eq(gradient_1, 0))
curve_2 = syp.plot_implicit(syp.Eq(gradient_2, 0))
我看到的只是第一个图,而我希望在同一张图片中包含两条曲线,如果可能的话,也可能带有网格。
有任何想法吗?
注意:使用 matplotlib 很容易,但我找不到函数
syp.plot_implicit
的任何具体示例 最佳答案
如果您这样做,它可能会起作用:
>>> curve_1.extend(curve_2)
>>> curve_1.show()
然而,混合隐式图可能尚未实现。
请注意,您的
curve_1
和 curve_2
不是 sympy 认为的“单曲线”,即 Series
实例,而是“多条曲线的集合”,即 Plot
实例。您还可以从
curve_1._backend.fig
和其他 _backend
属性中提取 matplotlib 对象。总之,有一个很好的 API 可以做你想做的事,但它背后的方法可能还没有完成。
关于python - 在同一图中绘制 2 个或更多函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19932072/