You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Julia制作3D交互式图形 运行PlotlyJS示例代码报错求助

问题说明

参考Plotly官方Julia 3D曲面绘图教程运行示例代码时,在请求GitHub托管的mt_bruno_elevation.csv高程数据集阶段触发报错,错误提示为getaddrinfo地址解析失败。

复现用示例代码

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)

触发的报错信息

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))
排查思路与解决方案
  • 定位网络层问题:getaddrinfo 属于域名解析阶段的报错,优先检查本地DNS配置是否正常、是否存在网络访问限制、系统代理规则是否拦截了Julia的网络请求,修复对应网络连通问题后重新运行代码即可。
  • 替换为本地文件读取:如果暂时无法连通对应域名,可提前将mt_bruno_elevation.csv文件存放到当前Julia工作目录,移除HTTP请求逻辑,直接读取本地文件,修改后代码如下:
using PlotlyJS, CSV, DataFrames
# 读取本地存储的数据集
df = CSV.File("mt_bruno_elevation.csv") |> 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)
  • 用模拟数据快速验证功能:如果仅需要确认3D曲面绘图逻辑是否正常,无需依赖官方数据集,可直接生成模拟高程矩阵运行,排除绘图代码本身的问题,示例代码如下:
using PlotlyJS
# 生成50*50的模拟高程数据
z_data = rand(50, 50) * 200
layout = Layout(
    title="3D Surface Test",
    autosize=false,
    width=500,
    height=500,
    margin=attr(l=65, r=50, b=65, t=90)
)
plot(surface(z=z_data), layout)
  • 检查依赖包状态:确认本地安装的HTTP.jl、CSV.jl、PlotlyJS.jl版本兼容无缺失,若包版本过旧可在Julia REPL中执行] up更新全量依赖后重试。

内容的提问来源于stack exchange,提问作者Leo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 17:03:33