R可视化之美之科研绘图-07. 颜色变量的应用

2022-07-02  本文已影响0人  科研私家菜

本内容为【科研私家菜】R可视化之美之科研绘图系列课程,快来收藏关注【科研私家菜】


01 颜色的离散和分类

library(ggplot2)  
library(RColorBrewer)  
library(reshape2) 

mat <- round(cor(mtcars), 1)
mydata <- melt(mat)  
colnames(mydata)<-c("Var1","Var2","value")

mydata$AbsValue<-abs(mydata$value)


ggplot(mydata, aes(x= Var1 , y=Var2)) +
  geom_point(aes(size=AbsValue,fill = value), shape=21, colour="black") +
  scale_fill_gradientn(colours=c(brewer.pal(7,"Set1")[2],"white",brewer.pal(7,"Set1")[1]),na.value=NA)+
  scale_size_area(max_size=12, guide=FALSE) +
  theme(
    text=element_text(size=15,face="plain",color="black"),
    axis.title=element_text(size=13,face="plain",color="black"),
    axis.text = element_text(size=12,face="plain",color="black"),
    legend.position="right"
  )

mydata$Ceilingcound<-ceiling(mydata$value)

ggplot(mydata, aes(x= Var1 , y=Var2)) +
  geom_point(aes(size=AbsValue,fill  = factor(Ceilingcound)), shape=21, colour="black") +
  scale_fill_manual(values =c(brewer.pal(7,"Set1")[2],brewer.pal(7,"Set1")[1]),labels=c('Negative','Positive'),na.value=NA,name="factor")+
  scale_size_area(max_size=12, guide=FALSE) 


效果如下:



02 双色系渐变


library(ggplot2)
library(RColorBrewer)

mydata<-read.csv("Column_Data.csv",stringsAsFactors=FALSE)
mydata$Date<-as.Date(mydata$Date)

ggplot(data = mydata, aes(x = Date, y = temperature,fill = temperature)) +
  geom_bar(stat = "identity", width = 2)+
  scale_fill_gradient2("Temperature",low=brewer.pal(7,"Set1")[2],mid="grey90",high=brewer.pal(7,"Set1")[1],midpoint=0)+
  scale_y_continuous(name="Temperature", limits=c(-10, 30))+
  theme(
    panel.background=element_rect(fill="white",colour="black"),
    panel.grid.major = element_line(colour = "grey60",size=.25,linetype ="dotted" ),
    panel.grid.minor = element_line(colour = "grey60",size=.25,linetype ="dotted" ),

    axis.title=element_text(size=15),
    axis.text.x = element_text(color="black",size=12),
    axis.text.y = element_text(color="black",size=12),
        
    legend.text=element_text(size=10),
    legend.title=element_text(color="black",size=12),
    legend.title.align = 0.5,
    legend.position=c(0.15,0.75))

效果如下:


参考资料

《R语言数据可视化之美》

关注R小盐,关注科研私家菜(溦❤工众號: SciPrivate),有问题请联系R小盐。让我们一起来学习 R可视化之美之科研绘图

上一篇 下一篇

猜你喜欢

热点阅读