2014-07-22 3 views
1

특정 지점의 Z 값에 따라 3D 표면이 다른 영역에서 다른 색상을 갖도록하는 것이 일반적입니다. 이를 달성하기 위해 간단히 ILSurface 객체의 UpdateColormapped 메소드를 호출합니다. 3 차원 플롯 큐브 안에 2 차원 ILLinePlot을 사용하여 동일한 작업을 수행하여 선이 음영의 Y 값에 따라 달라 지도록하고 싶습니다. 나는이 작업을 수행하는 방법 ILNumerics 웹 사이트에 직접 요청 다음과 같은 답변을 받았습니다 :ILLinePlot의 색상은 Y 값에 따라 다릅니 까?

"물론, 그것을 할 간단하다 :

1) ('색상'하지 '색상'을 Line.Colors 설정을 ! 필요한 색상 ILLinePlot의) 속성입니다.

2) 고체 색상 = 널 (null)을 설정 ('색상'하지 '색상'!)와

3) 밀어 끝에 Line.Configure()를 호출 렌더러의 색.

ILColormap.Map() 함수는 ord에서 도움이 될 수 있습니다. 어색 맵에 따라 모든 선 정점의 색상을 만들 수 있습니다. 또는 색상 배열을 수동으로 만들 수도 있습니다. 당신은 당신이 점점 문제가있는 경우 작동, 유래에 새 스레드를 열 수 있습니다 "

불행하게도 나는 그들이 무슨 뜻인지 이해하지 못하는 일부는 저 위의 지시에 따라이 코드를 완료하는 데 도움이 시겠어요 :..

지도에 대한
ILLinePlot my2DlinePlot = new ILLinePlot(); 
my2DlinePlot.Line.Colors = ? 
my2DlinePlot.Line.Color = null; 
my2DlinePlot.Line.Configure(); 

답변

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(); 

온라인 다큐(). http://ilnumerics.net/apidoc/?topic=html/M_ILNumerics_Drawing_Plotting_ILColormap_Map.htm

+0

덕분에, 지금은 색상을 변경하지만 (기본적으로) 내 3 차원 surfce의 사용과 동일한 컬러 맵을 사용하지 않는 것 볼 수는 기본 무엇입니까 colormap 호출 (turquois되는 하나 e를 누르면 녹색이되고 노란색이되고 최대 값은 빨간색이됩니다)? –

+1

기본값은 'ILNumerics'라고 생각합니다.) http://ilnumerics.net/apidoc/html/M_ILNumerics_Drawing_Plotting_ILSurface__ctor.htm –