Вы можете построить неявную функцию с помощью внешней библиотеки SymPy , а именно с помощью sympy.plot_implicit
, которая в свою очередь использует Matplotlib под капотом:
from sympy import symbols, plot_implicit
x, y = symbols('x y')
plot_implicit(x**3*y**2+3*x*y+9*x+x**4*y**4+x**4+3, x, y)
Другой вариант, менее прямой, чем использование SymPy, заключается в расширении использования plt.contour
в Matplotlib
In [1]: import matplotlib.pyplot as plt
...: import numpy as np
...:
...: %matplotlib
...:
...: X = np.linspace(-4, 4, 201)
...:
...: x, y = np.meshgrid(X, X)
In [2]: z = x**3*y**2+3*x*y+9*x+x**4*y**4+x**4+3
In [3]: plt.contour(x, y, z, (0,))
Out[3]: <matplotlib.contour.QuadContourSet at 0x7fb866c805d0>
(обратите внимание, что (0,)
- это кортеж, содержащий все значения, для которых вы хотите нарисовать изолинии)
![enter image description here](https://i.stack.imgur.com/kd5mI.png)