In this demo: https://plot.ly/python/3d-surface-plots/
The dataset is z_data = pd.read_csv(‘https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv’)
and it’s transformed to Numpy-array
the z_data is a dataframe with 25 rows x 25 columns, what’s the relationship with x y z axis?
As I understand, the xyz axis should be 3 list, just like the 3D scatter.
I usually think about it by imagining the 25 x 25 matrix as pin impression art where the height of the pin at row i, column j is determined by the value at row i, column j in the matrix. While it is possible to create a surface plot from a list of points in 3-space like you mentioned, it is easier to do it using a 2-D matrix.
Did not explain the data structure used by 3D surface.
I think you can easily visualize the data-set in terms of x, y, z in the following format.
The z and y axis can be index of the [25*25] and z values are the actual values in matrix.
Example- The element at [0,5] in matrix is 55, then x = 0, y= 5, z= 55.
Hope this helps.