9

有谁知道如何使用 Julia 的 Pyplot 绘制 3D 表面,例如表面梯度的范数作为面部颜色?

与 Python 的此主题类似:Color matplotlib plot_surface command with surface gradient

4

1 回答 1

10

我看到了这一点,我只能让它发挥作用。Plots.jl 使用 PyPlot 后端几乎支持开箱即用。我只需要换掉一个自定义的 matplotlib 着色器来应用不同的 z 矩阵。

您会注意到我正在访问 numpy 的渐变函数(通过 导入PyCall),并且我正在包装渐变矩阵G,这样它就不会被分割成列。总而言之......比python示例简单得多!

    using Plots; pyplot();
    x = y = LinRange(-5.0, 5.0, 30)
    z = sin(sqrt(Float64[xi^2+yi^2 for xi = x, yi = y]))
    surface(x, y, z, alpha = 0.7)

在此处输入图像描述

    using PyCall
    Gx, Gy = Plots.pynb.pymember(:gradient)(z)
    surface(x, y, z, alpha = 0.8, zcolor = wrap(G))

在此处输入图像描述

于 2016-04-29T02:10:55.063 回答