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 に答える