如何在R的ggplot2中使用盒子包裹图例?
为了在R的ggplot2中使用盒子包裹图例,我们可以使用theme函数以及legend.box.background和legend.box.margin参数。legend.box.background将借助element_rect创建一个矩形元素,并在legend.box.margin中设置边距值。
查看下面的示例以了解如何操作。
示例
以下代码片段创建一个示例数据框:
Score<-sample(1:100,20) Rank<-sample(1:10,20,replace=TRUE) Gender<-sample(c("Male","Female"),20,replace=TRUE) df<-data.frame(Score,Rank,Gender) df
创建了以下数据框
Score Rank Gender 1 80 9 Male 2 82 1 Female 3 13 5 Male 4 91 1 Female 5 62 6 Male 6 52 2 Female 7 72 7 Male 8 15 2 Male 9 44 2 Male 10 78 5 Male 11 5 10 Male 12 22 1 Female 13 92 8 Female 14 94 2 Male 15 40 3 Male 16 73 8 Female 17 66 6 Male 18 70 6 Male 19 69 6 Male 20 47 7 Male
要在上面创建的数据框中加载ggplot2包并在分数和排名之间创建散点图(点按性别着色),请将以下代码添加到上面的代码片段中:
Score<-sample(1:100,20) Rank<-sample(1:10,20,replace=TRUE) Gender<-sample(c("Male","Female"),20,replace=TRUE) df<-data.frame(Score,Rank,Gender) library(ggplot2) ggplot(df,aes(Score,Rank))+geom_point(aes(colour=factor(Gender)))
输出
如果将以上所有代码片段作为一个程序执行,它将生成以下输出:
要在上面创建的数据框中创建分数和排名之间的散点图(点按性别着色),并使图例用框包裹,请将以下代码添加到上面的代码片段中:
Score<-sample(1:100,20) Rank<-sample(1:10,20,replace=TRUE) Gender<-sample(c("Male","Female"),20,replace=TRUE) df<-data.frame(Score,Rank,Gender) library(ggplot2) ggplot(df,aes(Score,Rank))+geom_point(aes(colour=factor(Gender)))+theme(legend. box.background=element_rect(),legend.box.margin=margin(5,5,5,5))
输出
如果将以上所有代码片段作为一个程序执行,它将生成以下输出:
广告