R 更改分类变量的透明度、形状和大小

R 更改分类变量的透明度、形状和大小,r,ggplot2,R,Ggplot2,我正在尝试使用ggplot进行绘图,并尝试使用数据集中的二进制变量设置geom_point的透明度、大小和形状 例如,如果二进制变量==1则将大小设置为1,形状=三角形,透明度=0.2,如果二进制变量==0则将大小设置为0.5等 我已经能够进行如下颜色更改: library(ggplot2) df <- data.frame(variable1 = 1:5, variable2 = 1:5, binary = c(0,0

我正在尝试使用
ggplot
进行绘图,并尝试使用数据集中的二进制变量设置
geom_point
的透明度、大小和形状

例如,如果
二进制变量==1
则将大小设置为1,形状=三角形,透明度=0.2,如果
二进制变量==0
则将大小设置为0.5等

我已经能够进行如下颜色更改:

library(ggplot2)

df <- data.frame(variable1 = 1:5,
                 variable2 = 1:5,
                 binary = c(0,0,0,1,1))


ggplot(df, aes(x = variable1, y = variable2, colour = as.factor(binary))) +
  geom_point(size = 2, alpha = 0.3) +
  scale_colour_manual(values = c("grey", "black"), labels = c("cat1", "cat2")) +
  theme_bw()
库(ggplot2)

df您可以使用
scale\u X_手册
功能以相同的方式控制形状、颜色和美观。请参阅,以了解控制这些的所有不同方式

但是,实现此功能的关键部分是确保将要控制的变量添加到
ggplot
函数的
aes
部分

以下是一个例子:

df$binary <-  as.factor(df$binary)

ggplot(df, aes(x = variable1, y = variable2, colour = binary, shape = binary, alpha = binary)) +
  geom_point(size = 2) +
  scale_colour_manual(values = c("blue", "red")) +
  scale_shape_manual(values=c(16,17)) +
  scale_alpha_manual(values=c(1, 0.5)) +
  theme_bw()

df$binary请始终包含您问题的最小工作示例,以及可用数据。一个有很多问题的用户,你应该知道这一点的重要性。当然,我现在会得到dput,不需要dput,只需要制作一个非常简单的数据帧。它干净多了。我会将问题编辑为showThank,我会将此保存,以备将来需要
ggplot
帮助时使用。谢谢!现在的情节更加灵活。我很感激!最后一点:我试图重命名
二进制
图例和
0
1
部分。添加
scale\u color\u discrete(name=“Binary\u 0/Binary\u 1”)
与绘图中的
color=Binary
冲突。您可以使用mapvalue在绘图前更改参数名称:感谢您的建议,我们将对此进行研究!