2017-12-27 7 views
0

라이브러리에 plot3D 라이브러리를 사용하여 하나씩 하나씩 R로 여러 곡면을 플롯해야하지만 기본 R을 갖는 다른 환경에도 동일하게 적용됩니다 플롯 스타일). 각 표면은 데이터로 구축되며 다양한 범위의 데이터를 포함합니다. 우리는 다음과 같은 몇 가지 색상 표시 체계에 의해 각 표면을 colorify 수 있습니다 R : plot3D 패키지의 여러 중첩 된 플롯에 대한 통일 된 사용자 정의 색 구성표 설정

우리는 XYZ 점으로 일부 가짜 데이터를 가지고 :
out.trial<-read.csv(text="1, 1, 30 
1, 2, 35 
1, 3, 29 
1, 4, 33 
2, 1, 31 
2, 2, 32 
2, 3, 34 
2, 4, 35 
3, 1, 28 
3, 2, 29 
3, 3, 29.5 
3, 4, 31 
4, 1, 30 
4, 2, 31 
4, 3, 33 
4, 4, 33",header=FALSE) 

이제 우리는 산포도로 두 색깔의 "표면"을 구축 할 수 있습니다. 두 번째 "표면"은 단지 플롯 명령 호출 표준 컬러 키 기능은 색상을 할당

scatter3D(out.trial$V1, out.trial$V2, -out.trial$V3, phi = 0, bty = "g", 
col = gg.col(100,alpha=0.8), pch = 18, ticktype="detailed", xlab = "lon", 
ylab ="lat", zlab = "depth",colvar=-out.trial$V3,zlim=c(-65,-25)) 

    scatter3D(out.trial$V1, out.trial$V2, -20-out.trial$V3, phi = 0, bty = 
"g", col = gg.col(100,alpha=0.8), pch = 18, 
colvar=-20-out.trial$V3,zlim=c(-65,-25), add=TRUE) 

    plotdev() 

3D plot with two colored surfaces

하지만 ("plot3D") 20

라이브러리에서 모든 값을 이동시킴으로써 제조된다 변수의 최소/최대 범위에서 각 서피스에 기본적으로 적용됩니다. 따라서 서로 다른 값의 범위를 가진 두 개의 표면이 동일한 방식으로 각각 색칠됩니다. 위의 예에서 첫 번째 표면 (산포 지점 그룹)은 28-35, 두 번째 표면 - 48-55 범위의 값을 포함하며 둘 다 파란색에서 적갈색으로 팔레트에 채색됩니다. 각면에 대해 (이 경우) 28에서 55까지의 색상 구성표를 설정해야합니다. 그래서 위쪽 점이 황색을 띠고 botton 점은 푸른 색을 띠게됩니다. colvar= 지시어를 수정하여 색상 할당을위한 맞춤 범위를 설정하는 방법은 무엇입니까?

답변

0

해결 방법은 모든 플로팅 지시문에 clim= 매개 변수를 사용하는 것입니다. 다음으로, 모든 플롯 명령에서 컬러 메뉴 표시를 억제해야합니다. 값의 범위는 실시 예에 따라서 착색하는 clim=c(-55,-29), -55에서 -29이다

scatter3D(out.trial$V1, out.trial$V2, -out.trial$V3, phi = 0, bty = "g", 
col = gg.col(100,alpha=0.8), pch = 18, ticktype="detailed", xlab = "lon", 
ylab ="lat", zlab = "depth",colvar=-out.trial$V3,zlim=c(-65,-25),clim=c(-55,-29)) 

scatter3D(out.trial$V1, out.trial$V2, -20-out.trial$V3, phi = 0, bty = 
"g", col = gg.col(100,alpha=0.8), pch = 18, 
colvar=-20-out.trial$V3,zlim=c(-65,-25), add=TRUE, clim=c(-55,-29), colkey=FALSE) 

plot with 2 surfaces and one coloring scheme