I’m planning to make a 3D surface plot in R, including 3 variables. I’m unsure about how to format my data to construct a 3D plot. I tried running this example

http://moderndata.plot.ly/3d-surface-plots-with-rstudio-and-plotly/

but when I run the last step:

response <- py$plotly(data,

- kwargs = list(
- layout = layout,
- filename = “waves example”,
- fileopt = “overwrite”))

I get an error:

Error: attempt to apply non-function

Is the plotly function deprecated? Or could something else be wrong?

I have kind of same problem as yours…my data is in format like show in the link.

dt <- read.csv(‘https://raw.githubusercontent.com/plotly/datasets/master/3d-line1.csv’)

I followed the tutorials in the link of this topic and also referred to other plotly r examples of 3d surface plots. I am sure there is something I am missing on how to use the z axis data before plotting it, may be it needs further modification or something.

This is what I tried,

x_vec <- matrix(dt$x, nrow = 601, ncol = 1)

y_vec <- matrix(dt$y, nrow = 1, ncol = 601)

z_vec <- matrix(dt$z, nrow = 601, ncol = 601)

plot_ly(x = x_vec, y = y_vec, z = z_vec, type = ‘surface’)

But it resulted in an empty plot.