2013-12-07 3 views
1

Я не могу найти простой способ сделать хороший график изображения в R, но в полярных координатах. Я в основном пытаюсь найти эквивалент R для функции «polarplot3d» в MATLAB. Я играл с пакетом ggplot2, но без большой удачи. Я не хватает пакета, который содержит функциональность для того, что я пытаюсь? заранее спасибо за любые указатели.полюс изображения, как это сделать с R?

Хорошо, я пытаюсь понять, что я пытаюсь сделать. Предположим, что я хочу определить полярную координатную сетку, приращение в радиальном направлении составляет 50 м и 2,5 градуса в тета. Это должно выглядеть как мишень.

Мои данные (r и угол в нижнем коде) соответствуют радиальной дистанции и углу. Мое желаемое значение z - это количество двумерной гистограммы между r и углом в пределах описанных выше приращений, определяющих сетку.

Мои данные как следующее:

# synthetic data for angle and distance # 
angle <- rnorm(500,mean=90,sd=15) 
r <- rnorm(500,mean=700,sd=200) 

# bivariate histogram # 
observations <- table(cut(angle,breaks=c(seq(0,360,by=2.5))),cut(r,breaks=c(seq(0,1400,by=50)))) 


# the 'z' data are in observations for each bin of bivariate histogram # 
# hot to plot a polar coord image? # 
+1

'library (" sos "); findFn («полярный график») ' –

+0

Или действительно http://stackexchange.com/search?q=[r]+polar+plot – SlowLearner

+1

Я думаю, вы должны понимать, что ваш вопрос не описывает аспекты псевдо-3d проекции что вы видите в: http://www.mathworks.com/matlabcentral/fileexchange/13200-3d-polar-plot/content/polarplot3d.m. Вы должны четко указать, какие функции необходимы в конечном продукте. (Псевдо-3d-проекции несколько искажают данные, поэтому вы должны быть готовы к некоторому сопротивлению простому воспроизведению результата Matlab, так как стоять в одиночку - это не будет оптимальным отображением данных.) –

ответ

3

Это очень медленно, чтобы сделать на моей системе, но

library(reshape2) 
library(ggplot2) 
mm <- melt(counts) 
ggplot(mm,aes(Var1,Var2,fill=value))+geom_tile()+coord_polar() 
ggsave("polar1.png") 

, кажется, работает.

enter image description here

+0

тоже работал для меня, спасибо. Просто нужно действительно изучить ggplot и все его функциональные возможности. – user3077953

+0

geom_raster, вероятно, намного быстрее, чем geom_tile, с аналогичными результатами по сюжету. –

0

Я думаю, что следующий может работать. Используйте mapproject() из библиотеки maproj, чтобы преобразовать мои координаты xy в соответствии с полярной проекцией (или другой). Затем используйте функцию as.image() (от fields) для создания объекта изображения из моих новых координаторов и значений Z. В конечном счете используйте image.plot().

library("mapproj") 
xyProj <- mapproject(x, y, projection="conic", parameters=-90) 
library("fields") 
im <- as.image(z, x=xyProj) 
image.plot(im) 
+0

видел эту поисковую тему, но ничего подобного, как я пытаюсь. – user3077953

 Смежные вопросы

  • Нет связанных вопросов^_^