gpt4 book ai didi

r - 如何使用点更改ggplot2 boxplot颜色

转载 作者:行者123 更新时间:2023-12-01 09:44:34 29 4
gpt4 key购买 nike

解决了jitter problem ,现在我想让这些点更明显。我选择了pch=21有一个充满颜色的黑色圆圈。但是,盒子变成了相同的配色方案。我怎样才能把盒子的颜色改回来?我想在 中使用相同的盒子颜色图A 图B .

library(tidyverse)
library(ggpubr)
mtcars$cyl=factor(mtcars$cyl)

p1=mtcars %>% ggplot(aes(x=cyl, y=mpg, fill=cyl))+
geom_boxplot(show.legend = F, aes(fill=cyl))+
geom_point(position=position_jitterdodge(jitter.width=2, dodge.width = 0),
pch=21, aes(fill=factor(wt)), show.legend = F)

p2=mtcars %>% ggplot(aes(x=cyl, y=mpg, fill=cyl))+
geom_boxplot(show.legend = F)+
geom_point(position=position_jitterdodge(jitter.width=0, dodge.width = 0.3),
aes(color=factor(wt)), show.legend = F)

ggarrange(p1,p2,labels=c("A","B"))

enter image description here

最佳答案

您可以使用 scale_colour_manual()手动选择颜色。但是,由于您使用了 factor(wt),因此很难使用此示例。作为 geom_point() 的填充美学它有大约 30 个级别,因此您必须手动指定每个级别的颜色。为了演示,我已将填充美学更改为 vs :

p1=mtcars %>% ggplot(aes(x=cyl, y=mpg))+  
geom_boxplot(show.legend = F, aes(fill=cyl))+
geom_point(position=position_jitterdodge(jitter.width=2, dodge.width = 0),
pch=21, aes(fill=factor(vs)), show.legend = F) +
scale_fill_manual(values = c("4" = "red",
"6" = "green",
"8" = "yellow",
"0" = "lightblue",
"1" = "black"))
p1

output

关于r - 如何使用点更改ggplot2 boxplot颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52507719/

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