如何用sympy绘制x==2.5的垂直线
我需要绘制一组方程:
x1 + 2 * x2 == 8
x1 + 2 * x2 == 10
x1 == 5.5
x2 == 2.5
我正在尝试使用sympy来实现这个:
from sympy import *
x1, x2 = symbols('x1 x2')
plot(
solve(Eq(x1 + 2 * x2, 8), x1)[0], # x1 + 2*x2 <= 8
solve(Eq(x1 + 2 * x2, 10), x1)[0], # x1 + 2*x2 <= 10
5.5, # x1 <= 5.5
Eq(x2, 2.5), # x2 <= 2.5 !<< This does not work as expected
(x2, -2, 10)
)
结果是:
前面三个方程的绘制相对简单,但现在我需要绘制x2 == 2.5(这是一条竖线,表示x2等于2.5),我不知道该怎么做。
也许sympy并不是最好的解决方案?有没有其他的Python方法可以尝试?
1 个回答
3
你可以使用 plot_implicit
这个函数。
>>> from sympy import Symbol, Eq, plot_implicit
>>> x2 = Symbol('x2')
>>> plot_implicit(Eq(x2, 2.5))