график полярного изображения, как это сделать с R?

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

Хорошо, я пытаюсь быть более ясным в том, что я пытаюсь сделать. Допустим, я хочу определить сетку полярных координат, приращение в радиальном направлении составляет 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? #

person user3077953    schedule 07.12.2013    source источник
comment
Или действительно stackexchange.com/search?q=[r]+polar+plot   -  person SlowLearner    schedule 07.12.2013
comment
Я думаю, вы должны понимать, что ваш вопрос не описывает аспекты псевдо-3D-проекции, которые можно увидеть в: mathworks.com/matlabcentral/fileexchange/13200-3d-polar-plot/ Вы должны четко указать, какие функции необходимы в конечном продукте. (Псевдо-3D-проекции несколько искажают данные, поэтому вы должны быть готовы к некоторому сопротивлению простому воспроизведению этого результата Matlab, поскольку сам по себе он не будет оптимальным отображением данных.)   -  person IRTFM    schedule 07.12.2013
comment
Сос очень помог. Я нашел пакет openair с некоторыми хорошими функциями polarPlot.   -  person user3077953    schedule 07.12.2013
comment
Вам предлагается опубликовать решение вашего собственного вопроса, если вы найдете что-то, что работает хорошо. Если приведенные ниже ответы полезны, вы можете (но не обязаны) голосовать за них; если один из них адекватно ответит на ваш вопрос, вы можете нажать на галочку.   -  person Ben Bolker    schedule 07.12.2013


Ответы (2)


В моей системе очень рендеринг выполняется медленно, но

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

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

введите здесь описание изображения

person Ben Bolker    schedule 07.12.2013
comment
у меня тоже сработало, спасибо. Просто нужно действительно изучить ggplot и все его функции. - person user3077953; 08.12.2013
comment
geom_raster, вероятно, намного быстрее, чем geom_tile, с аналогичными результатами в плане графика. - person Paul Hiemstra; 15.12.2013

Я думаю, что следующее может сработать. Используйте 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)
person SESman    schedule 07.12.2013
comment
видел эту поисковую ветку, но ничего похожего на то, что я пытаюсь. - person user3077953; 07.12.2013