如何在 R 中使用 ggplot2 创建具有两个图例的散点图?
如果我们想要创建一个具有两个图例的散点图,那么我们必须有两个分类或因子列。这可以通过以下步骤完成:
- 创建一个具有两个数值列和两个分类列的数据框
- 使用 ggplot2 包的 geom_point 函数的 shape 和 color 参数创建散点图
创建数据框
让我们创建一个如下所示的数据框:
x<-rnorm(20)
y<-rnorm(20)
Gender<-sample(c("Male","Female"),20,replace=TRUE)
Group<-sample(c("I","II","III"),20,replace=TRUE)
df<-data.frame(x,y,Gender,Group)
df执行上述脚本后,将生成以下输出(由于随机化,此输出在您的系统上会有所不同):
x y Gender Group 1 -0.4799690 1.5891955 Female II 2 0.9413427 0.1495437 Male III 3 0.2321381 1.1012327 Female I 4 0.9742311 0.7938336 Male III 5 -0.3035013 0.8117990 Male I 6 1.2574545 -0.5482740 Female I 7 0.2966496 0.1084953 Female III 8 0.5882950 0.2693988 Female III 9 1.2275719 -0.9168983 Female II 10 -0.3383743 0.3960809 Male II 11 -0.0976704 0.4654153 Female III 12 -0.5239506 0.4893968 Female I 13 1.0714197 0.5457905 Female II 14 1.5720266 0.6403787 Female I 15 -0.6347866 0.7467298 Female I 16 0.4176001 0.5003941 Female I 17 -0.7211758 0.5015195 Female III 18 -0.9957714 -0.2087898 Male I 19 0.5924078 1.3892832 Male III 20 -0.7466664 -0.1326818 Male III
创建具有两个图例的散点图
加载 ggplot2 包并创建散点图,其中形状由性别定义,颜色由组定义:
library(ggplot2)
x<-rnorm(20)
y<-rnorm(20)
Gender<-sample(c("Male","Female"),20,replace=TRUE)
Group<-sample(c("I","II","III"),20,replace=TRUE)
df<-data.frame(x,y,Gender,Group)
ggplot(df,aes(x,y))+geom_point(aes(shape=Gender,color=Group),size=3)输出

广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP