2010-08-18 4 views
3

다음 코드를 geom_fill 잘 작동 :는 R + ggplot : 변환을 조정하고

p <- ggplot(df,aes(x=x,y=y)) 
p <- p + geom_tile(aes(fill=z)) 
p 

그것은 멋진 히트 맵을 나타내는. 여기서 dfexpand.grid()z을 사용하여 생성 된 xy을 포함하며 각 (x, y) 좌표의 값을 포함합니다.

p <- ggplot(df,aes(x=x,y=y)) 
p <- p + coord_map(project="lagrange") 
p <- p + geom_tile(aes(fill=z)) 
p 

모든 훨씬 아무것도 플롯되지 않습니다 (내가 해봤 모든 좌표 변환에 아무것도 플롯되지 않습니다) 반면에

이 코드. 필자는 coord_map이 x 및 y 데이터에서 작동하고 채우기가 변환 된 좌표의 꼭대기에 그려져 있어야한다는 것을 이해했습니다. 그러나 좌표가 새 프레임에 매핑되면 아무 것도 플롯되지 않으므로 잘못되었습니다.

내 질문은 : 어떻게하면 제대로 작동할까요? 내 데이터와 관련이있을 수 있습니다. 프레임 df?

+0

ggplot2 최신 버전이 있습니까? – hadley

+0

ggplot2_0.8.7을 사용하고 있습니다 ... 아니요. 난 아니다. update.packages()는 패키지를 업데이트하지 않습니다. 노력을 계속하고, 잘하면 그것은 내 문제를 해결할 것입니다 ... –

+0

좋아, 내가 업데이 트했습니다, 지금은 곳곳에 부서지고있어. 나는 새로운 질문을 할 것이다 ... –

답변

1

타일 기하 구조가 새로운 좌표계와 상호 작용하는 영역을 계산하는 방법에 문제가 있다고 생각합니다. 이 코드로 문제를 재현 해 보았습니다.

vol.m <- melt(volcano) 

#points & cartesian 
p <- ggplot(vol.m, aes(X1, X2, color = value)) + geom_point() 
#points and map 
p + coord_map() 

#hex & cartesian 
p <- ggplot(vol.m, aes(X1, X2, fill = value)) + geom_hex(stat = "identity") 
#hex & map 
p + coord_map 

나는 geom_tile()과 같은 일을하려고 잠시 동안 거기에 앉아 있지만, 플롯 않을 것이다, 그래서 나는 그것이 작동하지 않는 그것을 위해 당신의 말을 것이다. 육각형이지도 좌표에서 모두 엉망이되는지 확인하십시오. 지역을 채우기 위해 계산 된 타일을 플롯하려 할 때 다른 좌표계에서 플롯 팅을 용인 할 수 없다고 생각합니다.

편집 : 즉, 좌표계를 변경하면 그림이 그려지는 "그래프 용지"만 변경됩니다. 따라서 선형 회귀 통계를 계산 한 다음 로그 변환 할 좌표를 변경하면 플롯 된 회귀선이 구부러집니다. 나는 ggplot2이 비 직교 좌표계에 맞게 타일을 "구부릴"수 없다고 추측합니다.