1、用sympy
import sympy
from sympy import symbols, plot_implicit
x, y = symbols('x y')#创建两个变量x和y
plot_implicit(0.5*x-0.3*sympy.log(x,sympy.E)+
0.3*y-0.1*sympy.log(y,sympy.E) -1,(x,0,4),(y,0,4))
#plot_implicit中的第一个参数即为所要绘制的方程,方程右边等于0
#在sympy.log(x,sympy.E)中,sympy.E为自然对数的底
输出结果如下图所示:
2、用matplotlib
import matplotlib.pyplot as plt
import numpy as np
#作点
x=np.linspace(-1,4,1000)
y=np.linspace(-1,4,1000)
#构造网格
x,y=np.meshgrid(x,y)
z=0.5*x-0.3*np.log1p(x)+0.3*y-0.1*np.log1p(y)-1
#上式等号右边即为要绘制的方程,方程的右边等于0
#绘制等高线,8表示等高线数量加1
plt.contour(x,y,z,0)
plt.show()
输出结果如下图所示: