R 减少轴和几何体之间的空间

R 减少轴和几何体之间的空间,r,ggplot2,R,Ggplot2,我有这样一个情节: 如何在不切断DirectLabel的情况下删除线条的laft边缘和y轴之间的空间 守则: library(ggplot2) library(scales) labs <- c("Special Ed., Charter School", "Gen. Ed., Charter School", "Special Ed., Public School", "Gen. Ed., Public School") pot <- data.fr

我有这样一个情节:

如何在不切断DirectLabel的情况下删除线条的laft边缘和y轴之间的空间

守则:

library(ggplot2)
library(scales)
labs <- c("Special Ed., Charter School", 
    "Gen. Ed., Charter School",
    "Special Ed., Public School", 
    "Gen. Ed., Public School")

pot <- data.frame(Engagement = c(643, 793, 590, 724, 735, 928, 863, 662),
    Classroom = rep(rep(c("Special Ed.", "Gen. Ed."), each = 2), 2),
    Gender = factor(rep(c("Male", "Female"), 4), levels = c("Male", "Female")),
    School = rep(c("Charter", "Public"), each = 4), 
    ID = factor(rep(1:4, each = 2)),
    labs = factor(rep(labs, each=2), levels=labs)
    )

library(directlabels)

xout <- ggplot(pot, aes(y = Engagement, x = Gender, group = ID)) + 
    geom_line(aes(color=labs), size=2) + theme_classic() +
    scale_x_discrete(expand = c(.1, .3)) +
    scale_color_hue(l=40) +
    theme(text = element_text(size=22))   

direct.label(xout, list('last.qp', cex=1.35))
库(ggplot2)
图书馆(比例尺)

实验室的解决办法是在性别上增加空白水平

pot$Gender<-factor(pot$Gender,levels=c("Male","Female",""))

另一种可能是使用您的
性别
作为数字,然后使用
scale\u x\u continuous()
设置
限制=
,然后提供
中断=
标签=
,以再次获得正确的标签

xout <- ggplot(pot, aes(y = Engagement, x = as.numeric(Gender), group = ID)) + 
  geom_line(aes(color=labs), size=2) + theme_classic() +
  scale_x_continuous(expand=c(0,0),"Gender",breaks=c(1,2),
               labels=c("Male","Female"),limits=c(0.95,4)) +
  scale_color_hue(l=40) +
  theme(text = element_text(size=22)) 
xout
xout <- ggplot(pot, aes(y = Engagement, x = as.numeric(Gender), group = ID)) + 
  geom_line(aes(color=labs), size=2) + theme_classic() +
  scale_x_continuous(expand=c(0,0),"Gender",breaks=c(1,2),
               labels=c("Male","Female"),limits=c(0.95,4)) +
  scale_color_hue(l=40) +
  theme(text = element_text(size=22))