如何控制geom_point填充的alpha?

问题描述 投票:0回答:1

我有一个包含两个变量的数据框,我想在 ggplot 中绘制散点图。我希望颜色和填充由“A”控制,而填充的 alpha 仅由“B”控制,这可能吗?如果我在 aes 中包含 alpha,如下所示,它会使颜色(轮廓)和填充透明。

set.seed(123)
data <- data.frame(
  X = rnorm(100),
  Y = rnorm(100),
  A = sample(letters[1:5], 100, replace = TRUE),
  B = sample(letters[1:2], 100, replace = TRUE
)

ggplot(data, aes(x = X, y = Y, color = A, fill = A, alpha=B)) +
  geom_point(shape = 21, size = 4) +  # Use shape 21 for filled circles
  theme_minimal()
r ggplot2 alpha
1个回答
0
投票

一种方法是添加另一个

geom_point()
图层,没有填充和黑色轮廓:

ggplot(data, aes(x = X, y = Y, color = A, fill = A, alpha=B)) +
  geom_point(shape = 21, size = 4) +  # Use shape 21 for filled circles
  theme_minimal() +
  geom_point(shape = 21, size = 4, fill = NA, color = "black", alpha = 1)

© www.soinside.com 2019 - 2024. All rights reserved.