1

是否可以在 ILNumerics 中反转颜色图?我目前正在使用 Jet 颜色图,并且想反转它,所以蓝色在顶部,红色在底部,我怎样才能在不反转所有点的 z 值的情况下做到这一点?

这是我的代码:

    //p are the points im plotting
    ILSurface surface = new ILSurface(p, colormap: Colormaps.Jet);

产生这个:

曲面图

4

1 回答 1

2

您可以从表面(或从 ILColormap 实例)检索当前颜色图,并简单地反转颜色图中各个颜色映射项的位置。在我的示例中,颜色数据的第一行被它们的镜像覆盖:

private void ilPanel1_Load(object sender, EventArgs e) {
    ILArray<float> A = ILSpecialData.sincf(40, 50);
    ilPanel1.Scene.Add(new ILPlotCube(twoDMode: false) {
        new ILSurface(A) { new ILColorbar() }
    });

    // fetch surface
    var surface = ilPanel1.Scene.First<ILSurface>();
    // fetch current colormap data
    ILArray<float> cmdata = surface.Colormap.Data;
    // invert their positions
    cmdata[":;0"] = cmdata["end:-1:0;:"];
    // make new colormap and assign
    surface.Colormap = new ILColormap(cmdata);
    // configure after all modifications
    surface.Configure();
}

cmdata 之后用于创建一个新的颜色图,然后分配给表面。

请参阅此处的相关文档:http: //ilnumerics.net/managing-colormaps.html

于 2014-02-06T16:44:30.033 回答