论坛上很多作图都用如下方法(具体见论坛):
1.用 plt.contour 的0等高线
2.用sympy
这里介绍一种原创方法:
import matplotlib.pyplot as plt
import numpy as np
eps=0.02
def f(x,y):
return x**2-y**2-1
x=np.linspace(-5,5,800)
y=x
X,Y=np.meshgrid(x,y)
Z=f(X,Y)
ZC=[abs(Z)<eps]
X1=X[tuple(ZC)]
Y1=Y[tuple(ZC)]
ax=plt.gca()
ax.set_aspect('equal')
ax.set_xlim(-5,5)
ax.set_ylim(-5,5)
plt.plot(X1,Y1,'ro')
plt.show()