Ты уверен что ты понимаешь что такое объект Figure в matplotlib? Это канва, на которой ты размещаешь axes (оси координат и уже на этих осях ты непосредственно рисуешь графики). Прямого api что бы засунуть sympy plot на matplolib figure, не существует. Потому что это не оси с графиками а своя ФИГУРА с осями и на них графиками.
Можно ли это обойти, да конечно можно создать урода и присобачить на figure sympy plot.
import matplotlib.pyplot as plt
import numpy as np
from sympy import Symbol
from sympy.plotting import plot
x = Symbol('x')
X = np.linspace(-3,3,100)
y = np.cos(X)
def add_plot(p, ax):
backend = p.backend(p)
backend.ax = ax
backend._process_series(backend.parent._series, ax, backend.parent)
backend.ax.spines['right'].set_color('none')
backend.ax.spines['bottom'].set_position('zero')
backend.ax.spines['top'].set_color('none')
plt.close(backend.fig)
p = plot(x**2, (x, 0, 3), show=False)
fig, ax = plt.subplots(1,2, figsize=(18,9))
ax[0].plot(X,y)
add_plot(p, ax[1]);
Вот мы имеем фигуру с двумя осями, одна нормальная matplob'вская вторая из sympy.
Вот
здесь кто то постарался и прикрутил. Почитай, что пишут.