3 차원 밀도 함수를 시각화하는 방법은 무엇입니까?


19

3 차원 밀도 함수를 시각화하는 가장 좋은 방법은 무엇입니까? 에서처럼 ?

지=에프엑스,와이(엑스,와이)

필요하지 않지만 R이것에 대한 코드는 훌륭 할 것입니다.


3
더 통계적으로 변경했습니다.

1
해당 옵션에 대해 부족한 점이있는 경우 해당 옵션과 요구 사항을 정확히 지정할 수있어 가장 적합한 옵션을 찾을 수 있으면 가장 유용합니다.
— gung-모니 티 복원

1
이것들은 확실하지만 내 다른 옵션은 무엇입니까 /

3
@ Nico, 나는 이것이 변경되기 전에도 이것이 주제에 맞지 않거나 SO에 더 적합하다고 생각하지 않습니다. 코드 요청은 선택 사항으로 지정되었으며 & data-visualization는 당사 위임의 일부입니다.
— gung-복직 모니카

1
@ whuber, 원래 질문은 단지 "3D 데이터 세트 시각화"였습니다 (편집 기록에서 볼 수 있음). 나는 당신의 요점이 분명히 맞았지만 그것을 주제로 삼습니다.
— gung-복직 모니카

답변:


25

네 가지 가능한 접근 방식이 있지만 (더 많은 것이 있다고 확신하지만) 기본적으로 데이터를 투시 플롯, 등고선 플롯, 히트 맵 또는 3D 산란을 선호하는 경우 플롯 할 수 있습니다 plot ( 모든 ( x , y ) 쌍에 대해 값이있을 때 원근감있는 플롯 입니다. 다음은 (에서 잘 알려진 3-D 데이터 세트의 ) 각각의 예입니다 .지(엑스,와이)R

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

다음은 이전에 제공된 것보다 멋진 플롯 기능을 가진 두 개의 추가 플롯입니다. 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 따라서 환경 설정에 따라 3D 데이터 세트를 시각화 할 방법이 결정됩니다.

Here is the `R` code used to generate these four mentioned plots.
library(fields)
library(scatterplot3d)

#Data for illistarition
x = seq(-10, 10, length= 100)
y = x
f = function(x, y) { r = sqrt(x^2+y^2); 10 * sin(r)/r }
z = outer(x, y, f)
z[is.na(z)] = 1

#Method 1
#Perspective Plot
persp(x,y,z,col="lightblue",main="Perspective Plot")

#Method 2
#Contour Plot
contour(x,y,z,main="Contour Plot")
filled.contour(x,y,z,color=terrain.colors,main="Contour Plot",)

#Method 3
#Heatmap
image(x,y,z,main="Heat Map")
image.plot(x,y,z,main="Heat Map")

#Method 4
#3-D Scatter Plot
X = expand.grid(x,y)
x = X[,1]
y = X[,2]
z = c(z)
scatterplot3d(x,y,z,color="lightblue",pch=21,main="3-D Scatter Plot")

히트 맵이 눈을 멀게합니다.
— gung-모니 티 복원

@ Gung, (또는 누군가) 히트 맵의 색상이 어떤 값에 해당하는지 알려주는 사이드 바를 추가해야한다는 것을 알고 있습니까? 물론 이미지 명령을 사용합니다.

3
나는 당신이 image.plot()명령에 컬러 바를 추가하기 를 원한다고 생각합니다 . 또한 filled.contour()기본적으로 색상 막대가 추가 된 유사한 플롯을 생성합니다.
— 매크로


2
우리가 여기있는 동안, 나는 당신이 색상 팔레트 당신이 원하는 방식으로 ... 사용하는 가장 쉬운 (그러나 아마 가장 좋은) 방법으로 사용자 정의 할 수 있음을 지적거야 colorRampPalette()당신이 입력하는 경우 예를, a = colorRampPalette(c('dark blue','blue','light blue','yellow','orange', 'red','dark red'))그것이 함수를 만듭니다 a그 색상을 통과하는 색상 연속체의 이산 근사를 생성합니다. 인수 a는이 이산 근사의 분해능을 결정하는 정수입니다.
— 매크로
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.