ILLinePlot颜色取决于Y值?

时间:2014-07-22 12:26:16

标签: c# ilnumerics

根据特定点的Z值,让3D表面在不同区域具有不同的颜色是常见的做法。为了实现这一点,我只需在我的ILSurface对象上调用mehtod UpdateColormapped。我想在三维绘图立方体内使用二维ILLinePlot做同样的事情,因此颜色随着线图的Y值而变化。我直接在ILNumerics网站上询问如何做到这一点并得到以下答案:

“当然,这很简单:

1)将ILLinePlot的Line.Colors('Colors'而非'Color'!)属性设置为所需的颜色。

2)设置实心Color = null('Color'而不是'Colors'!)和

3)最后调用Line.Configure()将颜色推送到渲染器。

ILColormap.Map()函数可以帮助您根据某些色彩映射为所有行顶点创建颜色。或者,您可以手动创建颜色数组。 如果你在使用它时遇到问题,你可以在stackoverflow上打开一个新线程。“

不幸的是我不明白他们的意思。有些人可以帮我按照上面的说明完成这段代码:

ILLinePlot my2DlinePlot = new ILLinePlot();
my2DlinePlot.Line.Colors = ?
my2DlinePlot.Line.Color = null;
my2DlinePlot.Line.Configure();

1 个答案:

答案 0 :(得分:1)

// your data for plotting
ILArray<float> A = new float[]{0,3,2,-1,4,2}; // replace with your data 

ILLinePlot my2DlinePlot = new ILLinePlot(A);
// map the Y values in A to colors using a colormap
var cm = new ILColormap(Colormaps.Jet); 
my2DlinePlot.Line.Colors = cm.Map(A).T;  // colors data must be 3xn or 4xn
my2DlinePlot.Line.Color = null;
my2DlinePlot.Line.Configure();

Map()的在线文档:http://ilnumerics.net/apidoc/?topic=html/M_ILNumerics_Drawing_Plotting_ILColormap_Map.htm