給定以下資料集,如何將框的輪廓設定為黑色(或我想要的任何其他顏色),同時自定義為抖動點著色?我知道如何在一個簡單的 boxpot 中執行此操作,不需要由于兩個子組而躲避,但是如果我嘗試弄亂下面顯示的代碼,則會遇到分組問題。
Line <- c("A", "A", "B", "B")
FC <- c(2, -1, 3, -0.5, 2.1, 0, 2.2, -2, 1.8, -0.1, 2, -1)
TM <- c("control", "exp", "control", "exp", "control", "exp", "control", "exp", "control", "exp", "control", "exp")
df1 <- data.frame(Line, FC, TM)
head(df1)
library(ggplot2)
cbpallette=c("#EF9F26", "#082F6D")
df1 %>%
ggplot(aes(x=Line,y=FC, color=TM))
stat_boxplot(geom = 'errorbar', width=0.15, position = position_dodge(width=0.6))
geom_boxplot(outlier.shape=NA, width=0.4, position = position_dodge(width=0.6))
geom_point(position=position_jitterdodge(dodge.width = 0.6, jitter.width = 0.1), alpha=0.4) theme_classic()
scale_color_manual(values = cbpallette)
scale_y_continuous(limits=c(-3, 3), breaks=c(-3, -2, -1, 0, 1, 2, 3)) theme(axis.ticks.length = unit(-0.1, "cm"))

uj5u.com熱心網友回復:
正如 Rui 所說,您需要在 geom_point 中設定顏色美學。為了保持條形圖上的分組,您可以使用interaction()
這會產生你想要的嗎?
df1 %>%
ggplot(aes(x = Line, y = FC, group = interaction(Line, TM)))
stat_boxplot(geom = 'errorbar', width=0.15, position = position_dodge(width=0.6))
geom_boxplot(outlier.shape=NA, width=0.4, position = position_dodge(width=0.6))
geom_point(aes(color = TM), position=position_jitterdodge(dodge.width = 0.6, jitter.width = 0.1), alpha=0.4) theme_classic()
scale_color_manual(values = cbpallette)
scale_y_continuous(limits=c(-3, 3), breaks=c(-3, -2, -1, 0, 1, 2, 3)) theme(axis.ticks.length = unit(-0.1, "cm"))

uj5u.com熱心網友回復:
color從對 的初始呼叫中洗掉ggplot,這樣幾層將不會繼承該美學。然后,把它放進去geom_point。
此外,我使用了 R 4.1.0 中引入的新管道運算子,以避免加載額外的包。
Line <- c("A", "A", "B", "B")
FC <- c(2, -1, 3, -0.5, 2.1, 0, 2.2, -2, 1.8, -0.1, 2, -1)
TM <- c("control", "exp", "control", "exp", "control", "exp", "control", "exp", "control", "exp", "control", "exp")
df1 <- data.frame(Line, FC, TM)
head(df1)
#> Line FC TM
#> 1 A 2.0 control
#> 2 A -1.0 exp
#> 3 B 3.0 control
#> 4 B -0.5 exp
#> 5 A 2.1 control
#> 6 A 0.0 exp
library(ggplot2)
#> Warning: package 'ggplot2' was built under R version 4.2.2
cbpallette=c("#EF9F26", "#082F6D")
df1 |>
ggplot(aes(x=Line,y=FC))
stat_boxplot(geom = 'errorbar', width=0.15, position = position_dodge(width=0.6))
geom_boxplot(outlier.shape=NA, width=0.4, position = position_dodge(width=0.6))
geom_point(
aes(color=TM),
position=position_jitterdodge(dodge.width = 0.6, jitter.width = 0.1),
alpha=0.4)
scale_color_manual(values = cbpallette)
scale_y_continuous(limits=c(-3, 3), breaks=c(-3, -2, -1, 0, 1, 2, 3))
theme_classic()
theme(axis.ticks.length = unit(-0.1, "cm"))

使用reprex v2.0.2創建于 2022-11-09
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/533311.html
