1

I have a question about how the plotly surface code works.

I've got the data from dataframe to plot surface 3D graph , 1D array of x , y and z

example :

x (temperatures) =      [26,25,24,29,21,20,21,21,26]

y (humidity)     =      [50,60,50,40,50,70,80,90,90]

z (power consumption) = [12,13,14,11,11,10,11,12,15]

I need to plot each point (ex: x1,y1,z1) to be a surface and I have used this code

import plotly.graph_objects as go
import numpy as np

#x,y,z from above

fig = go.Figure(data = go.Surface(z=z,
                                  x=x,
                                  y=y))

fig.update_traces(contours_z = dict(show = True , usecolormap = True ,
                                    highlightcolor = 'limegreen' , project_z = True))

fig.update_layout(title = 'Linear')

fig.show()

but it doesn't show anything.

(I also known that z need to be 2D array but I don't know why it is)

How can I fix this problem?

Thank you

1 Answer 1

1

My answer consists of two parts:

  • How you can plot this data in 3d.
  • What's needed to create a 3d surface plot.

Plotting your data in 3D

With the data you have - three vectors of x, y, and z, you can easily create a 3D scatter plot:

fig = go.Figure(data=[go.Scatter3d(x=x, y=y, z=z,
                                   mode='markers')])

fig.show()

Here's what it looks like, and you can rotate it and swivel it in all directions.

enter image description here

3D Surface Plot

To create a 3D surface plot, you need a z-value for each combination of a and y. Think of a surface plot as a map. For each point (x,y) on the map, you need to provide the altitude (z) at that point, so that plotly can create the surface you're looking for.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.