gpt4 book ai didi

r - 使用 ggplot2 对齐子集数据点

转载 作者:行者123 更新时间:2023-12-02 03:03:00 24 4
gpt4 key购买 nike

我正在尝试构建一个复杂的图形,将各个数据点叠加在箱线图上,以显示汇总统计数据以及原始数据的分散情况。我有两个问题(按重要性排序):

  1. 如何将抖动点置于各自箱线图的中间?
  2. 如何删除“drv”图例中的黑点?

代码:

library(ggplot2)
library(dplyr)

mpg$cyl <- as.factor(mpg$cyl)

mpg %>% filter(fl=="p" | fl=="r" & cyl!="5") %>% sample_n(100) %>% ggplot(aes(cyl, hwy, fill=drv)) +
stat_boxplot(geom = "errorbar", width=0.5, position = position_dodge(1)) +
geom_boxplot(position = position_dodge(1), outlier.shape = NA)+
geom_point(aes(fill=drv, shape=fl), color="black", show.legend=TRUE, alpha=0.5, size=3, position = position_jitterdodge(dodge.width = 1)) +
scale_shape_manual(values = c(21,23))

Example figure

最佳答案

看起来geom_point当前的闪避是基于fillshape的。使用group表示您只想躲避drv

您可以在 guide_legend 中使用 override.aesfill 图例中删除点。

mpg %>%
filter(fl=="p" | fl=="r" & cyl!="5") %>%
sample_n(100) %>%
ggplot(aes(cyl, hwy, fill=drv)) +
stat_boxplot(geom = "errorbar", width=0.5, position = position_dodge(1)) +
geom_boxplot(position = position_dodge(1), outlier.shape = NA)+
geom_point(aes(fill = drv, shape = fl, group = drv), color="black",
alpha =0.5, size=3,
position = position_jitterdodge(jitter.width = .1, dodge.width = 1)) +
scale_shape_manual (values = c(21,23) ) +
guides(fill = guide_legend(override.aes = list(shape = NA) ) )

enter image description here

关于r - 使用 ggplot2 对齐子集数据点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45885126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com