我需要绘制一组方程:
x1 + 2 * x2 == 8
x1 + 2 * x2 == 10
x1 == 5.5
x2 == 2.5
Run Code Online (Sandbox Code Playgroud)
我正在尝试为此使用 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)
)
Run Code Online (Sandbox Code Playgroud)
结果是:

前三个很容易,但现在我需要绘制 x2 == 2.5(x2 == 2.5 的垂直线)并且不知道如何做到这一点。
可能是 sympy 不是最好的解决方案吗?对python还有其他想法吗?
您可以使用plot_implicit。
>>> from sympy import Symbol, Eq, plot_implicit
>>> x2 = Symbol('x2')
>>> plot_implicit(Eq(x2, 2.5))
Run Code Online (Sandbox Code Playgroud)
