R语言 如何在R中改变ggplot2线图的颜色
线形图是一种用于显示一系列数据点形式的信息的图表。它利用点和线来表示随时间的变化。绘制折线图的方法是将不同的点绘制在其X坐标和Y坐标上,然后通过一条线将它们从头到尾连接在一起。然而,有时需要改变线的颜色,因为在一个图形中可能有不止一条线。在这篇文章中,我们将看到如何在R编程语言中改变线图的颜色。
让我们看一个例子来说明线图的默认颜色是什么。
例子 。
library("ggplot2")
year<-c(2000,2001,2002,2003,2004)
winner<-c('A','B','B','A','B')
score<-c(9,7,9,8,8)
df<-data.frame(year,winner,score)
ggplot(df,aes(x=year,y=score,group=winner))+
geom_line()+geom_point()
输出 。
线形图的颜色可以通过各种方式改变。对于这一点,只需将颜色属性的值作为区分数值的列的名称即可。参照这一栏,不同的颜色将被默认分配给数值。
例子 。
library("ggplot2")
year<-c(2000,2001,2002,2003,2004)
winner<-c('A','B','B','A','B')
score<-c(9,7,9,8,8)
df<-data.frame(year,winner,score)
ggplot(df,aes(x=year,y=score,group=winner))+
geom_line(aes(color=winner))+geom_point()
输出 。
自定义调色板也可以用来区分不同的线形图。为此,我们使用了scale_color_manual()函数,向其传递了一个颜色值的列表。
语法 。
scale_color_manual(values=c(color1, color2, …. , color n))
例子 。
library("ggplot2")
year<-c(2000,2001,2002,2003,2004)
winner<-c('A','B','B','A','B')
score<-c(9,7,9,8,8)
df<-data.frame(year,winner,score)
ggplot(df,aes(x=year,y=score,group=winner))+
geom_line(aes(color=winner))+geom_point()+
scale_color_manual(values=c('Green','Yellow'))
输出:
自定义颜色也可以通过brewer调色板传递,为此要添加scale_color_brewer()函数,并加上要使用的调色板的适当名称。
语法 。
scale_color_brewer(palette=palette_name)
例子 。
library("ggplot2")
year<-c(2000,2001,2002,2003,2004)
winner<-c('A','B','B','A','B')
score<-c(9,7,9,8,8)
df<-data.frame(year,winner,score)
ggplot(df,aes(x=year,y=score,group=winner))+
geom_line(aes(color=winner))+geom_point()+
scale_color_brewer(palette="Accent")
输出 。
灰度也可以用来给线条赋予不同的颜色。为此要使用 scale_color_grey() 函数。
例子 。
library("ggplot2")
year<-c(2000,2001,2002,2003,2004)
winner<-c('A','B','B','A','B')
score<-c(9,7,9,8,8)
df<-data.frame(year,winner,score)
ggplot(df,aes(x=year,y=score,group=winner))+
geom_line(aes(color=winner))+
geom_point()+scale_color_grey()
输出 。