r - 如何在小提琴情节中添加“任意”点?
问题描述
长话短说,我为 15 个组中的每一组运行了一堆随机模拟,每个组有一个整数,我需要将其添加到情节中的每个小提琴中,但似乎无法弄清楚如何去做。这是一个可重现的示例:
# Making data
df <- data.frame(c(rep(1,10), rep(2,10), rep(3,10)), sample.int(100, 30), c(rep(85,10), rep(60,10), rep(55,10)))
colnames(df) <- c("Group", "Data", "Extra")
# Grouping data
df$Group <- as.factor(df$Group)
# Plotting
Violin2 <- ggplot(data = df, aes(x = Group, y = Data))+
geom_violin(aes(fill = Group, color = Group))+
stat_summary(aes(y = Data), fun=mean, geom="point", color = "navyblue", shape = 17, size = 3)+
stat_summary(aes(y = Data), fun=median, geom="point", color = "black", shape = 16, size = 3)
#geom_point(aes(y = Extra, color = "#00BB66", shape = 16, size = 3)+
Violin2
所以在这里,我是说在 df 中,有三组:1、2 和 3,它们应用于“数据”列。我需要添加的是来自 df 的“Extra”列的整数,作为每个小提琴上的单点(因此三个整数将是 85、60 和 55)。
我最初尝试添加一个 geom_point 图层,并认为 Extra 将按 Group 分组,就像 Data 一样,但这不起作用(错误:提供连续比例的离散值)。
我一直在这里搜索很多,但找不到解决方案,所以任何建议都将不胜感激!非常感谢您的帮助!:)
这是数据:
解决方案
您的示例运行良好。唯一要更新的是不要在 aes 中使用颜色 arg 的常量值。您只能在 aes 之外使用它。
# Making data
library(ggplot2)
df <- data.frame(c(rep(1,10), rep(2,10), rep(3,10)), sample.int(100, 10), c(rep(85,10), rep(60,10), rep(55,10)))
colnames(df) <- c("Group", "Data", "Extra")
# Grouping data
df$Group <- as.factor(df$Group)
# Plotting
Violin2 <- ggplot(data = df, aes(x = Group, y = Data))+
geom_violin(aes(fill = Group, color = Group))+
stat_summary(aes(y = Data), fun=mean, geom="point", color = "navyblue", shape = 17, size = 3)+
stat_summary(aes(y = Data), fun=median, geom="point", color = "black", shape = 16, size = 3) +
geom_point(aes(y = Extra))
Violin2
由reprex 包于 2021-06-08 创建 (v2.0.0 )
推荐阅读
- json - 在 SpringBoot 中反序列化多种 LocalDateTime 格式
- google-analytics - 如果我的网站使用的是 www 版本,Google Search Console 是否会为非 www 版本编制索引会损害我的排名?
- postgresql - postgresql 使用连接更新查询
- node.js - CORS 策略已阻止从源“null”访问文件中的 XMLHttpRequest:跨源请求仅支持协议方案
- python - pandas.read_sql_query 使用 IN("A", "B") 语句传入字符串参数
- javascript - 清理文本中间的空白
- r - 循环遍历目录中的 .rds 文件并转换为数据框
- visual-studio-code - 哪个 sqlfluff 命令未显示可执行路径
- kubernetes - 如何使用 Helm 但使用 ALB 而不是 ELB 在 EKS 上安装 Traefik?
- python - Discord.py bot.get_all_members 不工作