Your plot on your figure seems to use a Cartesian grid. The matplotlib website has three-dimensional cylindrical functions such as Z = f (R) (here: http://matplotlib.org/examples/mplot3d/surface3d_radial_demo.html ). Is this what you are looking for? Below I get with your function Z = -R ** 2: 
And to add a line to your function, use the following example: (matplotlib 1.2.0 required)
from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = fig.gca(projection='3d') X = np.arange(-5, 5, 0.25) Y = np.arange(-5, 5, 0.25) X, Y = np.meshgrid(X, Y) Z = -(abs(X) + abs(Y))
Result for surfi:

and surfc:

source share