首页 > 解决方案 > 修改现有代码以将 geom_count 插入 ggplot

问题描述

我发现了这个很酷的代码示例,最后有一个很棒的情节。不幸的是,如果有太多的观察,它看起来不是很好。因此,我尝试为每个观察值格式化点,geom_count并使它们更紧凑。但简单地添加+ geom_count并不能解决问题。我收到错误消息:

错误:stat_sum 需要以下缺失的美学:y

如何修改ggplot以合并点?

原代码链接:https ://osf.io/bc3jz/

数据链接:https ://osf.io/ftnb2/download

    master = read.csv("binary log.csv")

model = glm(WORKSTAT ~ CHILDREN + RACE + CONTROL +
              ATTMAR + ATTROLE + SEL + ATTHOUSE +
              AGE + EDUC,
       family = binomial(link = 'logit'),
       data = master)

correct = model$fitted.values

##a cool dot plot
library(ggplot2)
theme = theme(panel.grid.major = element_blank(), 
              panel.grid.minor = element_blank(), 
              panel.background = element_blank(),
              axis.text.y=element_blank(),
              axis.ticks=element_blank(),
              axis.line.x = element_line(color = "black"),
              axis.line.y = element_line(color = "black"),
              text = element_text(size=20), 
              legend.key = element_blank())

hist = ggplot(master, aes(correct, color = WORKSTAT, fill = WORKSTAT))
hist +
  theme +
  geom_dotplot(binwidth = .01, position = "jitter") +
  coord_cartesian(xlim = c(0,1)) +
  xlab("All Predictors in Model") +
  ylab("Frequency") +
  scale_color_manual(values = c("Maroon", "#2C3539"),
                     labels = c("Not Working", "Working"),
                     name = "Working Category")+
  scale_fill_manual(values = c("Maroon", "#2C3539"),
                    labels = c("Not Working", "Working"),
                    name = "Working Category") + 
  geom_vline(xintercept=c(.50), linetype="dotdash", size = 1)

编辑:问题是,我有太多观察结果无法正确显示它们。 在此处输入图像描述

标签: rggplot2

解决方案


geom_histogram你要找的吗?比如像这样:

geom_histogram(position = "identity", alpha = .6)

不过,用它替换你geom_dotplot的会导致直方图“浮动”在 x 轴上方。您可以通过添加来修复scale_y_continuous(expand = c(0, 0))


推荐阅读