如何有条件地在 R 中更改 geom_point 中的点大小?


要根据条件更改 geom_point 中的点大小,我们可以在 geom_point 中使用 aes 定义条件,并使用 ggplot2 包的 scale_size_manual 函数定义大小。例如,如果我们有一个称为 df 的数据框,其中包含两列,比如 x 和 y,则可以用以下命令绘制 x 值大于 5 且小于等于 5 的点大小不同的散点图:-

ggplot(df,aes(x,y))+geom_point(aes(size=x>5))+scale_size_manual(values=c(4,7))

示例

考虑以下数据框 -

 实时演示

x<-rnorm(20,6,1.2)
y<-rnorm(20,10,0.3)
df<-data.frame(x,y)
df

输出

         x        y
1   3.328193  10.220022
2   5.230092  9.947973
3   7.870149  9.385716
4   7.250473  10.312204
5   7.859332  9.628415
6   6.344924  9.389630
7   5.950067  9.927424
8   3.598442  10.078970
9   5.243530  9.545237
10  5.546215  10.153369
11  8.037851  9.903173
12  7.607763  10.354359
13  6.264471  10.029382
14  5.604859  10.421269
15  6.053001  9.621305
16  6.778453  9.819948
17  5.570402  9.931298
18  5.046742  10.003627
19  6.783095  9.783940
20  4.774991  10.502797

加载 ggplot2 包并在 x 和 y 之间创建一个散点图 -

library(ggplot2)
ggplot(df,aes(x,y))+geom_point()

输出

为 x 值大于 6 且小于等于 6 的散点图在 x 和 y 之间创建不同点大小 -

示例

ggplot(df,aes(x,y))+geom_point(aes(size=x>6))+scale_size_manual(values=c(3,10))

输出

示例

ggplot(df,aes(x,y))+geom_point(aes(size=x>6))+scale_size_manual(values=c(2,6))

输出

示例

ggplot(df,aes(x,y))+geom_point(aes(size=x>6))+scale_size_manual(values=c(4,7))

输出

更新于: 2021 年 3 月 6 日

2K+ 浏览

开启您的 职业生涯

完成课程即可获得认证

开始学习
广告
© . All rights reserved.