Note
Go to the endto download the full example code.
Plot 2D data on 3D plot#
Demonstrates using ax.plot'szdir keyword to plot 2D data onselective axes of a 3D plot.
importmatplotlib.pyplotaspltimportnumpyasnpax=plt.figure().add_subplot(projection='3d')# Plot a sin curve using the x and y axes.x=np.linspace(0,1,100)y=np.sin(x*2*np.pi)/2+0.5ax.plot(x,y,zs=0,zdir='z',label='curve in (x, y)')# Plot scatterplot data (20 2D points per colour) on the x and z axes.colors=('r','g','b','k')# Fixing random state for reproducibilitynp.random.seed(19680801)x=np.random.sample(20*len(colors))y=np.random.sample(20*len(colors))c_list=[]forcincolors:c_list.extend([c]*20)# By using zdir='y', the y value of these points is fixed to the zs value 0# and the (x, y) points are plotted on the x and z axes.ax.scatter(x,y,zs=0,zdir='y',c=c_list,label='points in (x, z)')# Make legend, set axes limits and labelsax.legend()ax.set_xlim(0,1)ax.set_ylim(0,1)ax.set_zlim(0,1)ax.set_xlabel('X')ax.set_ylabel('Y')ax.set_zlabel('Z')# Customize the view angle so it's easier to see that the scatter points lie# on the plane y=0ax.view_init(elev=20.,azim=-35,roll=0)plt.show()

Tags:plot-type: 3Dplot-type: scatterplot-type: linecomponent: axeslevel: intermediate