2014-11-07 2 views
13

나는이 소리가 기본으로 들리지만 문자 그대로 한 시간 이상 성공하지 못했다고합니다. 나는 'ggplot2'패키지를 사용하여 'R'에 3D 막대 그림을 그려보기 만하려고합니다.ggplot2 3D Bar Plot

x y  z 
t1 5 high 
t1 2 low 
t1 4 med 
t2 8 high 
t2 1 low 
t2 3 med 
t3 50 high 
t3 12 med 
t3 35 low 

나는 그것을 이런 식으로 뭔가를 플롯 할 : 내 dataframe는 다음과 같은 형태 enter image description here

어떤 도움 감사합니다 이상입니다!

+12

당신은 그 R 애호가가 _NOT_가 수행하는 방법의 예의 풍부한 소스로 엑셀 생각 깨달아야한다 :

여기 latticeExtra와 함께 원하는대로 당신이 당신의 데이터를 그릴 수있는 방법, 말했다 3 차원 막대 그래프는 정확한 양적 정보를 전달하는 가장 비난받는 전략 중 하나입니다. –

+0

@ 본드 더스트 하! 그래, 나는 그것을 깨닫는다. 아마 내가 전혀 예제를 찾을 수없는 이유. 하지만 여전히 시도하고 싶습니다. 그리고 당신의 포인터가 도움이 될 것입니다 ... 제 3 축을 제 geom_bar()에 추가하는 방법을 알아야합니다. – maryam

+0

이것은 조사 할 가치가있는 길일 수 있습니다 : http://stackoverflow.com/ 질문/23261760/how-to-generate-3-d-bar-graph-in-r – Docconcoct

답변

15

설명에서 언급했듯이 3D 플롯은 일반적으로 왜곡되거나 흐려진 데이터보기를 제공하기 때문에 (다른 옵션을 사용할 수있는 경우) 좋은 선택이 아닙니다.

d <- read.table(text=' x y  z 
t1 5 high 
t1 2 low 
t1 4 med 
t2 8 high 
t2 1 low 
t2 3 med 
t3 50 high 
t3 12 med 
t3 35 low', header=TRUE) 

library(latticeExtra) 

cloud(y~x+z, d, panel.3d.cloud=panel.3dbars, col.facet='grey', 
     xbase=0.4, ybase=0.4, scales=list(arrows=FALSE, col=1), 
     par.settings = list(axis.line = list(col = "transparent"))) 

enter image description here

+1

@ maryam -'z'의 레벨이 잘못 주문되었습니다. 요인을 만들 때 명시 적으로 레벨 순서를 명시함으로써이를 수정할 수 있습니다. – jbaums

+0

오, 그래, 고위 -> med -> 고맙다는 대신에 med -> low -> high가된다. – maryam

+0

'y ~ x + z '는 무슨 뜻인가? –