2012-12-28 2 views
0

matlab에 5 차원 플로팅을 만들고 싶습니다. 내 작업 공간에 두 개의 파일이 있습니다. 하나는 데이터 (150 * 4)입니다. 이 파일에는 150 개의 데이터가 있으며 각각에는 4 개의 기능이 있습니다. 분류하기 때문에 데이터 파일의 각 데이터에 레이블을 포함하는 "레이블"(150 * 1) 파일이 있습니다. 즉 라벨 데이터의 클래스는 내가 3 클래스가 : 1,2,3 나는이 분류를 플롯 할,하지만 난 할 수 없습니다 ...분류를위한 matlab의 5 차원 플로팅

나리스

+0

정확하게 5 개의 치수가 나타나기를 원한다면 무엇을 할 수 있습니까? 오류가 발생하면 오류 메시지를 지정하고 작은 스 니펫을 게시하여 플롯하려는 데이터를 표시하십시오 (예 :'rand (10,2,2,2,2) ') –

+0

내 데이터가 있음 엑셀 파일. 각 행은 4 개의 피쳐 (열)가있는 샘플입니다. 그리고 150 데이터 (행) 있습니다. – user1934193

+0

나는 150 개의 행을 가진 또 하나의 Excel 파일을 가지고 있으며, 각 행은 각 데이터에 대한 클래스의 레이블을 보여줍니다. 3 라벨 (3 클래스) : 1,2,3. 이제는 색상이있는 각 데이터 (예 : red.blue.blue)에 대한 점으로 내 데이터를 플롯해야합니다. Naris – user1934193

답변

1

당신은 scatter3을 사용할 수 있습니다 다른 마커

figure,hold on 
markerList = 'o*+'; 
for iClass = 1:nClasses 
    classIdx = dataClass==iClass; 
    scatter3(data(classIdx,1),data(classIdx,2),data(classIdx,3),[],data(classIdx,4),... 
     'marker',markerList(iClass)); 
end 

당신이 기능 중 하나를 표현하기 위해 컬러 사용, 내가 좋은 색상 맵을 사용하는 것이 좋습니다 같은 크기로 컬러와 네 번째, 및 클래스를 data의 세 가지 기능을 사용하여 데이터를 플롯합니다, 예 :대신 Matlab File Exchange의 pmkmp과 같은.

mdscale을 사용하여 표준 플로팅을 위해 고차원 데이터를 2D로 변환하십시오.

+1

2 차원 화면에서 계속 진행되므로 4 차원 만 얻습니다. 마커 크기는 1/5로 추가 할 수 있습니다. –

+0

@BenVoigt : 네, 그러나 뇌를 3 차원으로 복원 시키려면 음모를 회전시킬 수 있습니다. 마커 크기는 해석하기 까다로울 수 있습니다. – Jonas

1

보고 싶은 줄거리에 대해 생각해 봐야합니다. 당연히 당신의 초차 모니터가 작동하지 않는 한 5 차원을 시각화하기가 어렵습니다. 내 가게는 수리점에서 돌아 오지 않았습니다. (저에게 그것을 가르쳐 주어야합니다.)

진지하게, 5 차원 데이터는 실제로 시각화하기가 어려울 수 있습니다. 일반적인 해결책은 2 차원 공간 (예 : 그림의 화면 좌표)에서 점을 그리는 것입니다.이 점이 기본적으로하는 점입니다. 그런 다음 다른 3 차원을 표시하기 위해 점으로 표시된 여러 속성을 사용합니다. 이것이 체 르노 프가 당신을 위해하는 일입니다. 통계 도구 상자가 있다면 glyphplot이 도움이 될 것 같습니다. 또는 3 차원으로 플롯 한 다음 두 개의 특성을 사용하여 다른 두 차원을 표시 할 수도 있습니다.

또 다른 아이디어는 2 차원의 점을 그리기 위해 2-d로 점을 그린 다음 다른 3 차원을 나타내는 데 색상을 사용하는 것입니다. 따라서 해당 마커에 할당 된 RGB는 다른 세 차원으로 정의됩니다. 물론, 이는 색상의 RGB 좌표가 무엇을 나타내는지를 시각화 할 수 있어야한다는 것을 의미하므로 RGB 공간에서 표현 될 때 색상을 이해할 필요가 있습니다.

0

다차원 공간의 2 차원 이미지를 만드는 SOM (Self-organizing Maps)이라는 모델이 있습니다.