Change Legend Title in ggplot2 in R



In ggplot2, by default the legend title is the title of the grouping column of the data frame. If we want to change that title then scale_color_discrete function. For example, if we have a data frame called df that contains two numerical columns x and y and one grouping column say group then the scatterplot with a different legend title can be created by using the below command −

ggplot(df,aes(x,y,color=group))+geom_point()+scale_color_discrete("Gender")

Example

Consider the below data frame −

Live Demo

> x<-rnorm(20)
> y<-rnorm(20)
> grp<-sample(c("Male","Female"),20,replace=TRUE)
> df<-data.frame(x,y,grp)
> df

Output

             x          y    grp
1  -2.27846496  0.8121008   Male
2  -1.75112768 -0.1718679 Female
3  -0.12504696 -0.3265867 Female
4   0.10895490 -0.2015613 Female
5  -1.51196132  0.8480887   Male
6   1.68028497 -1.1329240   Male
7  -0.65238760 -0.9495177   Male
8   0.84725937  1.4825983 Female
9   0.53645228  2.1630524 Female
10 -2.04814594  0.4503883 Female
11 -0.37741279 -1.1621875   Male
12  0.79303416 -0.1804637   Male
13 -0.02095395 -0.9740427   Male
14  0.61453646  1.0327821 Female
15 -0.32875489 -0.4071753   Male
16  0.94227215  2.0651996 Female
17  1.79740910  0.8630703   Male
18  1.09133101 -0.1053076   Male
19  0.33748223 -0.1238961 Female
20 -0.10264760  1.5338488   Male

Loading ggplot2 package and creating a point chart between x and y with grouping of grp −

> library(ggplot2)
> ggplot(df,aes(x,y,color=grp))+geom_point()

Output

Creating a point chart between x and y with grouping of grp and legend title Gender −

> ggplot(df,aes(x,y,color=grp))+geom_point()+scale_color_discrete("Gender")

Output

Updated on: 2021-03-05T06:19:33+05:30

440 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements