R ggplot2-几何图形线段+刻面网格未正确对齐

R ggplot2-几何图形线段+刻面网格未正确对齐,r,ggplot2,R,Ggplot2,当添加面网格时,我似乎无法使几何分段匹配 library(tidyverse) library(plotly) #create data frame in long format df <- mtcars %>% rownames_to_column(var = "car") %>% select(car, mpg, disp, cyl) %>% mutate(car = as.factor(car)) %>% pivot_longer(cols

当添加面网格时,我似乎无法使几何分段匹配

library(tidyverse)
library(plotly)

#create data frame in long format
df <- mtcars %>% rownames_to_column(var = "car") %>% 
  select(car, mpg, disp, cyl) %>% 
  mutate(car = as.factor(car)) %>% 
  pivot_longer(cols = c(mpg, disp)) %>% 
  rowwise() %>% 
  mutate(target = runif(1, value*.8, value*1.2))

#create ggplot 
   ggplot(df) +
    scale_x_discrete() +
     geom_col(aes(x = car, y = value)) +
     geom_segment(
       aes(
         x = as.numeric(car)-.25,
         xend = as.numeric(car)+.25,
         y = target,
         yend = target
       ),
       linetype = 'dotted',
       color = 'black'
     ) +
      facet_grid(
        rows = vars(cyl),
        cols = vars(name),
        scales = "free",
        space = "free_y"
      ) +
      coord_flip()
正如你在下面看到的,我用geom_段创建的“参考线”是不正确的,它们应该在geom_段上方


如果您使用scales=free\u x而不是scales=free,这似乎是可行的:

另见

图书馆GGPLOT2 图书馆弹琴 > >正在附加包:“dplyr” >以下对象已从“package:stats”屏蔽: > >滤波器,滞后 >以下对象已从“package:base”屏蔽: > >相交、setdiff、setequal、并集 可供图书馆使用 图书馆三年 以长格式创建数据帧 df%rownames\u to\u columnvar=car%>% 选择汽车、mpg、显示、气缸%>% mutatecar=as.factorcar%>% pivot_longercols=cmpg,显示%>% 行%>% mutateraget=runif1,值*.8,值*1.2 创建ggplot ggplotdf+ 比例x离散+ geom_colaesx=汽车,y=数值+ geom_段 aes x=as.numericcar-.25, xend=as.numericcar+0.25, y=目标, yend=目标 , 线型='点', 颜色=‘黑色’ + 平面网格 行=varscyl, 科尔斯=瓦尔斯纳姆, 刻度=自由_x, 空间=自由空间 + 坐标翻转
由v0.3.0于2020-06-04创建

感谢您的新答案!是否可以删除未使用的行?