【发布时间】:2018-11-01 21:34:50
【问题描述】:
我无法使用极坐标切断对象的边界。我正在尝试使用显示所有测量角度的标准偏差的边界矩形绘制平均角度。但是,由于圆坐标的性质,我遇到了 sd 超出极坐标限制的麻烦,我无法让它出现。我已经阅读了this similar question,但由于各种原因,我需要将这些数据放在极坐标系中,所以我没有成功地将那个问题的geom_arc_bar 解决方案应用于我的问题。
这是数据的一个子集:
test <- structure(
list(group = structure(1:4, .Label = c("1", "2", "3", "4"),class = "factor"),
mang = c(100.346364791691, 61.6459563812475, -93.4372656495579, -150.308914571739),
mdisp = c(22.1760257078993, 16.1971728831951, 13.7224045052927, 16.3229969619169),
sd = c(88.7601477929364, 115.305326107927, 89.1303441207914, 75.4004747324955)),
row.names = c(NA, -4L),
class = c("tbl_df", "tbl", "data.frame"),
.Names = c("group", "mang", "mdisp", "sd"))
代码:
library(tidyverse)
ggplot(test)+
geom_rect(aes(xmin = mang - sd, xmax = mang + sd, ymin = 0,ymax = mdisp, fill = group))+
geom_segment(aes(x = mang, y = 0, xend = mang, yend = mdisp))+
scale_x_continuous(breaks = c(-90, 0, 90, 180, 270, 360), limits = c(-180, 180))+
coord_polar(start = 2*pi, direction = -1)+
facet_grid(~group)+
ggtitle("polar plots with sd")
这给出了这个图表:
如果我注释掉设置 x 比例 #scale_x_continuous(breaks=c(-90,0,90, 180, 270, 360),limits=c(-180, 180)) 的行,这些矩形将出现在我希望它们出现的位置,如图所示,但比例错误:
如何让比例尺和边界矩形出现在同一个图上?
【问题讨论】:
标签: r ggplot2 polar-coordinates