How to embed a 3D matplotlib figure in the notebook interface?
I'd like to embed a matplotlib figure in the notebook interface of SageMath, is this possible? Presently I am using this SageMath code:
x,y,z=var('x,y,z')
# Next we define the parameters
sigma=10
rho=40
beta=8/3
# The Lorenz equations
lorenz=[sigma*(y-x),x*(rho-z)-y,x*y-beta*z]
# Time and initial conditions
N=250000
tmax=150
h=tmax/N
times=srange(0,tmax+h,h)
ics=[0,1,1]
sol=desolve_odeint(lorenz,ics,times,[x,y,z],rtol=1e-13,atol=1e-14)
X=sol[:,0]
Y=sol[:,1]
Z=sol[:,2]
# Plot the result
from mpl_toolkits.mplot3d import axes3d
from matplotlib import pyplot as plt
def plot():
fig = plt.figure(1)
ax = fig.add_subplot(111, projection='3d')
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
ax.set_xlabel('X(t)')
ax.set_ylabel('Y(t)')
ax.set_zlabel('Z(t)')
plt.show()
plot()
to solve and plot the solution to the Lorenz equations. What modification to the plot()
function do I have to make in order to embed the matplotlib plot in the notebook interface.