# [SOLVED] How to print two figures together in matplotlib.pyplot so that they form a complete figure

## Issue

I am trying to generate a 3d ellipsoid in matplotlib using the method `matplotlib.pyplot.add_subplot(211,projection='3d')`.

Firstly, I generate the upper side of the ellipsoid using this code:

``````import matplotlib.pyplot as plt
fig1=plt.figure(figsize=(20,20))
import numpy as np
Xval=np.linspace(-5,5,50)
Yval=np.linspace(-5,5,50)
X,Y=np.meshgrid(Xval,Yval)
def height(x,y):
return 100-(x**2/4+y**2/9)

Z=np.sqrt(height(X,Y))

ax.plot_wireframe(X,Y,Z)
``````

Secondly, when I tried to generate the lower side of the ellipsoid, I could not show the two pictures together to form a complete ellipsoid and it messes up. The Z vector is as follows for the lower side.

``````Z=-np.sqrt(height(X,Y))
``````

I would appreciate any tip.
I know that this is possible in 2d figures.

## Solution

Your ellipsoid is way too large for the data ranges you define, that’s why you get two "planes" when you plot the two sides together. With

``````Xval=np.linspace(-30,30,300)
Yval=np.linspace(-30,30,300)
...
ax.plot_wireframe(X,Y,np.sqrt(height(X,Y)))
ax.plot_wireframe(X,Y,-np.sqrt(height(X,Y)))
``````

it shows as Note that this still lacks the connections between the halves. That’s because you would need to include the exact x, y coordinates which give z=0.