首页 > 解决方案 > 如何使用 Julia 的 Plots 包绘制 3-D 函数?

问题描述

是否可以使用 Julia Plots 包重现此图? 使用 gnuplot 绘图

x = y = -15:0.4:15
f1 = (x,y) -> @. sin(sqrt(x*x+y*y))/sqrt(x*x+y*y)
surf(x, y, f1, w = :p, marker = "dot", Axes(hidden3d = :on))

在此处输入图像描述

标签: plotjuliagnuplot

解决方案


不完全相同,但您可以绘制一个曲面surface

using Plots
x = y = -15:0.4:15
f(x,y) = sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)
surface(x, y, f)

这会给

曲面图

或一个wireframe

wireframe(x, y, f)

会给

线框图

但是如果你真的想要一个 3D 散点图,那么你需要手动创建网格并将数据重新排列成我认为的向量,比如

X = [x for x in x for y in y]
Y = [y for x in x for y in y]
scatter3d(X, Y, f.(X,Y))

scatter3d 图


推荐阅读