2014-09-11 3 views
3

표면 플롯과 함께 분산 된 데이터 벡터 4 개를 시각화하고 싶습니다. 3 개의 벡터가 좌표이어야합니다. 또한 4 번째 벡터는 표면색을 나타내야합니다. 내 첫 번째 방법은 내가 다른 색상의 흩어진 포인트를 획득 결과스 캐터 포인트의 표면 플롯 시각화 향상

scatHand = scatter3(xk,yk,zk,'*');  
set(scatHand, 'CData', ck); 
caxis([min(ck), max(ck)]) 

을 사용하여이 데이터 (XK, YK, ZK, CK)를 플롯하는 것이었다. 이 점들은 반구의 표면에 놓이기 때문에 단지 점 대신에 색깔이있는면을 얻는 것이 가능합니다. 내가 처음이 이미 반구의 바닥이 너덜 너덜입니다 거의 제가 것을 제외하고 원하는이다 근사

xk2=sort(unique(xk)); 
yk2=sort(unique(yk)); 
[xxk, yyk]=meshgrid(xk2, yk2); 
zzk=griddata(xk,yk,zk,xxk,yyk,'cubic'); 
cck=griddata(xk,yk,clr,xxk,yyk,'cubic');  
surf(xxk,yyk,zzk,cck); 
shading flat; 

을 구축 할 수 griddata를 사용하여 표면에 의해 흩어져있는 포인트를 교체합니다. 물론 보간 점수를 늘리면 점수는 더 좋아 지지만 줄거리 처리는 느려집니다. 따라서 보간 함수가 명확한 중단을 수행하도록하는 쉬운 방법이 있는지 궁금합니다. 또한 zzk의 값이 반구가 z = 0 평면과 공유하는 원의 바깥쪽에 'NaN'을 가져 오기 때문에 울퉁불퉁 한 경계가있는 것 같습니다. Hemisphere surface built out of scattered data

상단의 빨간색 점은 원본 흩어져있는 데이터의 첫 번째 여러 항목입니다.

답변

2

ZLim 옵션을 설정하여 플롯 된 값을 특정 범위 내에서 슬라이스 할 수 있습니다.

set(gca, 'Zlim', [min_value max_value]) 

enter image description here

관련 문제