欢迎光临散文网 会员登陆 & 注册

ggplot2颜色标度使用手册

2023-08-16 14:57 作者:五柳冰冰  | 我要投稿

将以下内容粘贴到 Rmarkdown 之中编译


## 颜色标度

使用颜色标度时,经常出现以下错误:

Error: Discrete value supplied to continuous scale

```{r}
ggplot(mtcars,aes(mpg, disp,color=cyl))+geom_point()

ggplot(mtcars,aes(mpg, disp,color=as.factor(cyl)))+geom_point()

```

### 离散型分类数据color

#### aes(color=group)

```{r}
knitr::kable(head(iris,5))
```

```{r}
p <- ggplot(iris,aes(Species,Sepal.Length))
p+geom_point(aes(color=Species),size=2)
```

```{r}
p <- ggplot(iris,aes(Sepal.Width,Sepal.Length))
p+geom_point(aes(color=Species),size=2)
p+geom_line(aes(color=Species),linewidth=2)
```

#### 修改离散型数据颜色标度
##### scale_color_discrete()
##### scale_color_hue()    
##### scale_color_grey()
##### scale_color_manual()    
##### scale_color_identity()    
##### scale_color_brewer()    
##### scale_color_viridis_d()

```{r}
p <- ggplot(iris,aes(Sepal.Width,Sepal.Length,color=Species))+geom_point(size=2)
p
p+scale_color_brewer(palette = "Set2")
```


```{r}
p <- ggplot(iris,aes(Sepal.Width,Sepal.Length,color=Species))+geom_line(linewidth=1.5)
p
p+scale_color_brewer(palette = "Set2")
```

```{r}
library(RColorBrewer)

display.brewer.all()
```

```{r}
p<- presidential %>%
 mutate(id = 33 + row_number()) %>%
 ggplot(aes(start, id, color = party)) +
 geom_point() +
 geom_segment(aes(xend = end, yend = id))
p
p+ scale_color_brewer(palette = "Set1")
```



### 离散型分类数据填充(fill)

#### aes(fill= )

```{r}
p <- ggplot(iris,aes(Species,color=Species))+geom_bar()
p
p <- ggplot(iris,aes(Species,fill=Species))+geom_bar()
p
```


#### 修改离散型填充颜色标度

```{r}
p <- ggplot(iris,aes(Species,fill=Species))+geom_bar()
p+scale_fill_brewer(palette='Set1')
p+viridis::scale_fill_viridis(option = "plasma",discrete =TRUE)
p+scale_fill_manual(values=c("#E7298A","#66A61E","#E6AB02"))
p+taylor::scale_fill_taylor_d("Mode of Track")
p+taylor::scale_fill_taylor_d(album = "Fearless")
```


##### scale_color_discrete()
##### scale_color_hue()    
##### scale_color_grey()
##### scale_color_manual()    
##### scale_color_identity()    
##### scale_color_brewer()    
##### scale_color_viridis_d()

### 连续型数据color

#### aes(color=)
```{r}
df <- tibble(x=1:10,y=rnorm(10),group=c(rep('a',5),rep('b',5)))
p <- ggplot(df,aes(x,y,color=group))+geom_line(linewidth=1.5)
p
```


#### 修改连续型数据颜色标度

##### scale_color_continuous()
##### scale_color_gradient()
##### scale_color_gradient2()
##### scale_color_gradientn()
##### scale_color_binned()
##### scale_color_steps()
##### scale_color_steps2()
##### scale_color_stepsn()
##### scale_color_viridis_c()
##### scale_color_viridis_b()
##### scale_color_distiller()
##### scale_color_fermenter()

```{r}
df <- tibble(x=1:10,y=rnorm(10),group=c(rep('a',5),rep('b',5)))
p <- ggplot(df,aes(x,y,color=group))+geom_line(linewidth=1.5)
p
p+scale_color_brewer(palette = 'Set2')
```


### 连续型数据填充(fill)

#### aes(fill=)

```{r}
df <- tibble(
 x = rnorm(10000),
 y = rnorm(10000) )
ggplot(df, aes(x, y)) +
 geom_hex() +
 coord_fixed()

ggplot(df, aes(x, y)) +
 geom_hex() +
 viridis::scale_fill_viridis() +
 coord_fixed()
# 以下代码是错误的示范
ggplot(df, aes(x, y)) +
 geom_hex() +
 scale_color_gradient(low = "white", high = "red") +
 coord_fixed()
```


#### 修改连续型填充颜色标度

##### scale_color_continuous()
##### scale_color_gradient()
##### scale_color_gradient2()
##### scale_color_gradientn()
##### scale_color_binned()
##### scale_color_steps()
##### scale_color_steps2()
##### scale_color_stepsn()
##### scale_color_viridis_c()
##### scale_color_viridis_b()
##### scale_color_distiller()
##### scale_color_fermenter()

### 扩展调色板

#### taylor包
##### scale_color_albums
##### scale_color_taylor_b
##### scale_color_taylor_c
##### scale_color_taylor_d
##### scale_fill_albums
##### scale_fill_taylor_b
##### scale_fill_taylor_c
##### scale_fill_taylor_d

```{r}
p <- ggplot(iris,aes(Sepal.Width,Sepal.Length,color=Species))+geom_point(size=2)
p
p+scale_color_brewer(palette = "Set2")
p+taylor::scale_color_taylor_d()
```


```{r}
p <- ggplot(iris,aes(Species,fill=Species))+geom_bar()
p+taylor::scale_fill_taylor_d("Mode of Track")
p+taylor::scale_fill_taylor_d(album = "Fearless")
```

#### ggsci包

##### scale_color_aaas
##### scale_color_cosmic
##### scale_color_d3     
##### scale_color_flatui      
##### scale_color_frontiers    
##### scale_color_futurama     
##### scale_color_gsea         
##### scale_color_igv         
##### scale_color_jama        
##### scale_color_jco          
##### scale_color_lancet       
##### scale_color_locuszoom   
##### scale_color_material     
##### scale_color_nejm         
##### scale_color_npg          
##### scale_color_rickandmorty
##### scale_color_simpsons     
##### scale_color_startrek     
##### scale_color_tron         
##### scale_color_uchicago    
##### scale_color_ucscgb

##### scale_fill_aaas         
##### scale_fill_cosmic       
##### scale_fill_d3           
##### scale_fill_flatui      
##### scale_fill_frontiers    
##### scale_fill_futurama     
##### scale_fill_gsea        
##### scale_fill_igv         
##### scale_fill_jama         
##### scale_fill_jco          
##### scale_fill_lancet       
##### scale_fill_locuszoom   
##### scale_fill_material     
##### scale_fill_nejm         
##### scale_fill_npg          
##### scale_fill_rickandmorty
##### scale_fill_simpsons     
##### scale_fill_startrek     
##### scale_fill_tron         
##### scale_fill_uchicago    
##### scale_fill_ucscgb    


获取某个扩展调色板中所有函数的方法
library(ggsci)
grep('scale_color_*', x = ls('package:ggsci'), value = TRUE)


本文根据ggplot2官方说明文档整理。

ggplot2颜色标度使用手册的评论 (共 条)

分享到微博请遵守国家法律