R ggplot:将y轴移动到极坐标图(极坐标)上的网格线

R ggplot:将y轴移动到极坐标图(极坐标)上的网格线,r,ggplot2,axis-labels,polar-coordinates,R,Ggplot2,Axis Labels,Polar Coordinates,我正在创建一个极坐标图,显示成对组数据的方向直方图。更具体地说,不同的兄弟姐妹群体之间的方向是不同的 这是一个模拟: mockdf <- data.frame(dir = as.numeric( runif( 1000, -pi/2, pi) ), ID = sample(letters[1:2], 1000, TRUE)) ggplot(data=mockdf, aes(x=mockdf$dir)) + coord_polar(theta = "x"

我正在创建一个极坐标图,显示成对组数据的方向直方图。更具体地说,不同的兄弟姐妹群体之间的方向是不同的

这是一个模拟:

mockdf <- data.frame(dir = as.numeric( runif( 1000, -pi/2, pi) ),
                 ID = sample(letters[1:2], 1000, TRUE))
ggplot(data=mockdf, aes(x=mockdf$dir)) +
  coord_polar(theta = "x", start = pi, direction = 1) +
  scale_fill_manual(name = "Sibling", values=c("black", "White")) +
  geom_histogram(bins=32, aes(fill=mockdf$ID), color= "black") +
  facet_wrap(~mockdf$ID) +
  scale_y_continuous("Number of reloactions", limits = c(-8,30)) +
  scale_x_continuous(limits = c(-pi,pi), breaks = c(0, pi/4, pi/2, 3*pi/4, 
  pi, -3*pi/4, -pi/2, -pi/4),
                     labels = c("N", "NE", "E", "SE", "S", "SW", "W", "NW"))

mockdf您可以使用
theme
中的选项删除当前轴文本和记号,并使用
geom_text()
手动添加标签。我已经演示了如何添加第一个

ggplot(data=mockdf, aes(x=mockdf$dir)) +
  coord_polar(theta = "x", start = pi, direction = 1) +
  scale_fill_manual(name = "Sibling", values=c("black", "White")) +
  geom_histogram(bins=32, aes(fill=mockdf$ID), color= "black") +
  facet_wrap(~mockdf$ID) +
  scale_y_continuous("Number of reloactions", limits = c(-8,30)) +
  scale_x_continuous(limits = c(-pi,pi), breaks = c(0, pi/4, pi/2, 3*pi/4, 
                                                pi, -3*pi/4, -pi/2, -pi/4),
                 labels = c("N", "NE", "E", "SE", "S", "SW", "W", "NW")) + 
  # remove text and tick marks from axis
   theme(axis.text.y = element_blank(),
         axis.ticks.y = element_blank()) + 
  # add label manually
  geom_text(x = 4, y = 10, label = "10") 

使用
注释
而不是内置的轴标签机,并将它们放在任何您想要的地方。