连续型和离散型数据对应的颜色不同

花花写于2019.7.16 最近刚搬进人才公寓,各种采购和玩耍,非常开心,工作也开始步入正轨,慢慢安定下来,不知不觉断更了一周,赶紧的补起来。。。

知识点

ggplot2的默认配色分两类,一类是连续型变量对应的渐变色,一类是离散型变量对应的独立的几种颜色。

数据

(生信星球公众号后台回复color即可拿到示例数据)
用于分类的列是class

head(test)
# V1 patients class
# 1 1061        A     1
# 2 1548        A     2
# 3 2283        A     3
# 4 4756        A     4
# 5 1473        B     1
# 6 1760        B     2
table(test$class)

# 1  2  3  4 
#10 10 10 10 

做条形图

if(!require(ggplot2))install.packages("ggplot2")
library(ggplot2)
ggplot(data=test)+
  geom_bar(aes(x=patients,y=V1,fill=class),stat = "identity")

直接做出来的图是这样的:

连续型和离散型数据对应的颜色不同_第1张图片
真的好丑

颜色从 深蓝到浅蓝渐变,是连续型变量对应的颜色。验证一下:

str(test)
#'data.frame':  40 obs. of  3 variables:
# $ V1      : int  1061 1548 2283 4756 1473 1760 593 4062 722 435 ...
# $ patients: chr  "A" "A" "A" "A" ...
# $ class   : int  1 2 3 4 1 2 3 4 1 2 ...

不出所料,class这一列的数据类型是整型

实际上我们想要的是独立的几种颜色,那么对数据类型进行转换是最直接的办法。

test$class=as.character(test$class)

再次运行作图代码:

ggplot(data=test)+
  geom_bar(aes(x=patients,y=V1,fill=class),stat = "identity")
连续型和离散型数据对应的颜色不同_第2张图片
其实还是丑,但事儿就是这么个事儿

手动改颜色

注意这里是fill,不是color,color是边框。
颜色还可以手动修改,rgb颜色无数种任你选择,比如这样:

ggplot(data=test)+
  geom_bar(aes(x=patients,y=V1,fill=class),stat = "identity")+
  scale_fill_manual(values = c("#EEE685","#FFC1C1", "#D8BFD8", "#D1EEEE"))+
  theme_bw()
连续型和离散型数据对应的颜色不同_第3张图片

你可能感兴趣的:(连续型和离散型数据对应的颜色不同)