Plot 同时绘制等高线和三维图
我试图在Julia中同时绘制一个函数的等高线和曲面,但我似乎找不到一种方法Plot 同时绘制等高线和三维图,plot,julia,contour,Plot,Julia,Contour,我试图在Julia中同时绘制一个函数的等高线和曲面,但我似乎找不到一种方法 有没有一种简单的方法可以实现这一点?下面是我为绘图设计的一个示例。PyPlot软件包有更好的功能,可以通过Makie实现: import Contour: contours, levels, level, lines, coordinates function surface_contour(xs, ys, f; offset=0) p = surface(xs, ys, f, legend=false, fill
有没有一种简单的方法可以实现这一点?下面是我为
绘图设计的一个示例。PyPlot
软件包有更好的功能,可以通过Makie实现:
import Contour: contours, levels, level, lines, coordinates
function surface_contour(xs, ys, f; offset=0)
p = surface(xs, ys, f, legend=false, fillalpha=0.5)
## we add to the graphic p, then plot
zs = [f(x,y) for x in xs, y in ys] # reverse order for use with Contour package
for cl in levels(contours(xs, ys, zs))
lvl = level(cl) # the z-value of this contour level
for line in lines(cl)
_xs, _ys = coordinates(line) # coordinates of this line segment
_zs = offset .+ 0 .* _xs
plot!(p, _xs, _ys, _zs, alpha=0.5) # add curve on x-y plane
end
end
p
end
xs = ys = range(-pi, stop=pi, length=100)
f(x,y) = 2 + sin(x) - cos(y)
surface_contour(xs, ys, f)
谢谢,这是可行的:)但是,等高线与曲面图重叠,曲面图有没有办法成为顶层?我在函数结束前通过绘制曲面图解决了这个问题,这样,曲面打印将成为顶层。offset
参数允许您移动绘制轮廓的z级。但是我希望你能对这个问题有一个更好的答案,因为我从来没有这么满意过这个需要手动调整偏移量。