這是資料:
set.seed(1234)
df = tribble(
~group,~value,
"a", rnorm(1000, mean = 5),
"b", rnorm(1000, mean = 7, sd = 1.5),
"c", rnorm(1000, mean = 8),
"c", rnorm(1000, mean = 9),
"c", rnorm(1000, mean = 7)
) %>%
unnest(value)
我使用下面的代碼來創建箱線圖和覆寫點:
library(ggplot2)
ggplot(df, aes(x = group, y = value))
geom_boxplot(aes(color = group), fill = NA, outlier.shape = NA)
geom_point(aes(color = group), shape = 21, position = position_jitter(
seed = 1, width = .05
), alpha = 0.1)
下圖:

重疊點的邊框顏色和框的邊框顏色相同。例如,當箱線圖為橙色時,點的邊界也是橙色的。我想知道如何允許箱線圖和重疊點的邊界使用不同的顏色。例如,我希望將箱線圖的顏色分別設定為 a、b 和 c 組的黑色、藍色、棕色。我還希望重疊點的邊框顏色為紅色、綠色、黃色。
uj5u.com熱心網友回復:
實作所需結果的另一種選擇是使用ggnewscale允許多個比例和圖例以實作相同美學的包:
library(ggplot2)
library(ggnewscale)
ggplot(df, aes(x = group, y = value))
geom_boxplot(aes(color = group), fill = NA, outlier.shape = NA)
scale_color_manual(values = c("black", "blue", "brown"))
new_scale_color()
geom_point(aes(color = group),
shape = 21,
position = position_jitter(seed = 1, width = .05), alpha = 0.1
)
scale_color_manual(values = c("red", "green", "yellow"))

uj5u.com熱心網友回復:
也許你正在尋找這樣的東西:
將組轉換為因子,然后使用您想要的顏色recode_factor從包重新編碼。dplyr然后在 ggplot 中分配你的新顏色:
library(tidyverse)
df %>%
mutate(group = factor(group),
color_group = recode_factor(group, "a"="gold", "b"="purple", "c"="black")) %>%
ggplot(aes(x = group, y = value))
geom_boxplot(aes(color = color_group), fill = NA, outlier.shape = NA)
geom_point(aes(color = group), shape = 21, position = position_jitter(
seed = 1, width = .05
), alpha = 0.1)

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/523466.html
標籤:rggplot2箱形图
