plot_surface reduces density of points

Viewed 118

Trying to plot a surface using matplotlib. However, the plotted surface has lower grid density than the meshgrid.

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

xgrid = np.arange(0,1,1/100)
ygrid = xgrid.copy()
xx, yy = np.meshgrid(xgrid,ygrid)
fig = plt.figure()
ax = fig.add_subplot(111,projection='3d')
ax.plot_surface(xx,yy,np.square(xx)+np.square(yy))

enter image description here

The meshgrid was defined to have 100 segments in each direction. However, the surface in the figure doesn't have 100 segments. Is there anyway to render the surface with the same density?

Don't worry, you don't have to count the number of segments, so I overlap the plot with a scatter plot with the same points

ax.scatter3D(xx,yy,np.square(xx)+np.square(yy))

Upon zooming in, you can see that each grid of the surface plot has a scatter point in the middle, which shows that the plot_surface changed the density of the points.

enter image description here

Usually it doesn't matter for smooth plots such as these, but I have singular points in my data which sometimes disappear in the surface plot because of this

0 Answers
Related