How to make 3d interactive graphics in Julia?

I found a web page with a similar tutorial. But when I copy the code to run, it gives an error. Hope you all can help me.
https://plotly.com/julia/3d-surface-plots/

using PlotlyJS, CSV, HTTP, DataFrames
# Read data from a csv
df = CSV.File(
    HTTP.get("https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv").body
) |> DataFrame
z_data = Matrix{Float64}(df)
layout = Layout(
    title="Mt Bruno Elevation",
    autosize=false,
    width=500,
    height=500,
    margin=attr(l=65, r=50, b=65, t=90)
)
plot(surface(z=z_data), layout)

The error message is as follows

ERROR: IOError(Base.IOError("getaddrinfo: no such file or directory (ENOENT)", -4058) during request(https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv))

Hi @mathliker please read the official documentation of the corresponding Julia package to make sure that you are not hitting an outdated example:

http://juliaplots.org/PlotlyJS.jl/stable/

Alternatively, consider this other package:

https://makie.juliaplots.org/stable/

Welcome @mathliker

The code works well in Julia 1.7.2 (Windows).
Try to download the URL with a browser and see what you get there. https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv

I get this:

,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
0,27.80985,49.61936,83.08067,116.6632,130.414,150.7206,220.1871,156.1536,148.6416,203.7845,206.0386,107.1618,68.36975,45.3359,49.96142,21.89279,17.02552,11.74317,14.75226,13.6671,5.677561,3.31234,1.156517,-0.147662
... snipped

I got the same results as you, I’m using Julia 1.8-rc1.

You may download the file to some local location and open it directly using, e.g.:

df = CSV.File("c:\\Temp\\mt_bruno_elevation.csv") |> DataFrame

OK, thanks. One last little question is how should I save the image?

Check
http://juliaplots.org/PlotlyJS.jl/stable/api/#PlotlyBase.savefig-Tuple{Plot,AbstractString}

But for me it offers a save picture symbol (as png) in the plot window, so perhaps that’s fine for you too.