2016-05-27 9 views
0

私は(私は私のポストに数字を埋め込むことが許されていないよ、それを見るためにリンクをクリックしてください)density map in polar coordinatesのような姿を構築したいです。それは極座標の密度マップです。私はRに慣れていないよ、でも私はthis postを見つけたので、私はまだ私が欲しいものを手に入れる方法がわかりません。密度マップをRで極座標にプロットする方法は?

は今のところ、私はデカルト座標での散乱データを持っています。もし誰かが私を助けてくれたら、私は感謝しています。どうもありがとう。

=========================アップデート:私の解決策================= =============

cart2pol <- function(x){ 
# x: (x,y) 
y <- x[2] 
x <- x[1] 
r <- sqrt(x^2 + y^2) 
t <- atan2(y,x)/pi*180 
c(r,t) 
} 

angle <- apply(cockpit.data[c('x1','y1')],1,cart2pol)[2,] 
r <- apply(cockpit.data[c('x1','y1')],1,cart2pol)[1,] 
observations <-table(cut(angle,breaks=c(seq(-180,180,by=15))),cut(r,breaks=c(seq(0,sight,by=25)))) 

mm <- melt(observations,c('angle','r')) 

labels <- seq(-172.5,172.5,length.out = 24) - 90 
labels[labels<=0] <- labels[labels<=0] + 360 
labels.y <- as.vector(rbind('', seq(0,sight,by=50)[-1])) 
rosedensity <- ggplot(mm,aes(angle,r,fill=value))+geom_tile()+ 
    coord_polar(start=pi/2, direction = -1) + ggtitle('Rose Density') + 
    scale_fill_gradientn(name="Frequency", colours = rev(rainbow(32)[1:23])) + #terrain.colors(100) , brewer.pal(10,'Paired') 
    scale_x_discrete(labels = labels) + scale_y_discrete(labels = labels.y) + 
    xlab('Angle') + ylab('R') + 
    theme(
     plot.title = element_text(color="red", size=28, face="bold.italic"), 
     axis.title.y = element_text(color="black", size=24, face="bold"), 
     axis.title.x = element_text(color="black", size=24, face="bold"), 
     axis.text=element_text(size=20), 
     legend.justification=c(1,0), legend.position=c(1,0), 
     legend.background = element_rect(fill="gray90", size=.1, linetype="dotted") 
    ) 
ggsave(rosedensity, file=paste(dirOutput,'rosedensity.png',sep=''), width=8, height=8) 

は、ここに私のOutput Figureです。

私はthis answerから解決策を見つけました。

+1

はStackOverflowのへようこそ!私たちがあなたを助けてくれるためには、まずこの記事を読むことをお勧めします:http://stackoverflow.com/help/mcve。その後、問題を解決するために書いたコードを投稿してフォローアップします。 – gariepy

答えて

2

あなたはこのようにそれを試みることができる:

library(ggplot2) 
ggplot(faithful, aes(x = eruptions, y = waiting)) + 
    stat_density_2d(
    geom = "tile", 
    aes(fill = ..density..), 
    n=c(40, 10), 
    contour = F 
) + 
    scale_fill_gradientn(colours=rev(rainbow(32)[1:23])) + 
    coord_polar() 

enter image description here

関連する問題