我有以下代码:
import sympy as syp
x, y = syp.symbols('x, y')
Equation_1 = - 2*x + y**2 - 5
Equation_2 = x**3 + syp.sin(y) - 10
syp.plot_implicit(syp.Or(syp.Eq(Equation_1, 0), syp.Eq(Equation_2, 0)), (x, -50, 50), (y, -50, 50))
提供了这张图片:
你知道任何可以用来改变第二条曲线颜色的黑客吗?根据Sympy的documentation,我认为这不是直接可能的。
答案 0 :(得分:6)
似乎当前没有实现将任何颜色参数传递给plot_implicit
函数。
无论您绘制多少函数,都是如此。
我怀疑可以添加此功能,但目前还没有。
另一方面,如果您只绘制线条,则可以这样做。 方法如下:
import sympy as sy
x = sy.symbols('x')
# Make two plots with different colors.
p1 = sy.plot(x**2, (x, -1, 1), show=False, line_color='b')
p2 = sy.plot(x**3, (x, -1, 1), show=False, line_color='r')
# Make the second one a part of the first one.
p1.extend(p2)
# Display the modified plot object.
p1.show()
答案 1 :(得分:1)
这是你的hack,Sympy .extend()
对象的Plot
方法
import sympy as syp
x, y = syp.symbols('x, y')
Eq0 = - 2*x + y**2 - 5
Eq1 = x**3 + syp.sin(y) - 10
p0 = syp.plot_implicit(Eq0, (x, -50, 50), (y, -50, 50), show=False)
p1 = syp.plot_implicit(Eq1, (x, -50, 50), (y, -50, 50), show=False, line_color='r')
p0.extend(p1)
p0.show()