采用R繪制圖形漠其,出來的效果相比orign更加的清新嘴高,不會顯得死板,同時核心代碼非常的少和屎,設(shè)定一套模板后拴驮,
可以批量的繪制其他圖形,只用更改核心代碼即可柴信。同時支持顏色的自定義設(shè)置套啤,使得顏色的選擇范圍更加的廣闊。
本文以柱狀圖為例來進行繪制随常,部分代碼參考了知乎上的一篇文章https://zhuanlan.zhihu.com/p/27093478潜沦,本文的核心在于構(gòu)建一套適用的柱狀圖模板,而不會詳細的對各個參數(shù)進行說明线罕。
首先在excel中整理數(shù)據(jù)如下所示:
然后將該數(shù)據(jù)另存為.csv格式的止潮,本文保存為zhu effect 1.csv
不帶誤差線的橫軸柱狀圖和縱軸柱狀圖
打開Rstudio并新建一個文件
代碼如下:
library(ggplot2)
setwd("D:/qixiang/final/全部要素") #設(shè)置目錄,本文中的數(shù)據(jù)放在該目錄下
data<-read.csv("zhu effect1.csv",header = TRUE) #讀取數(shù)據(jù)
data$type= factor(data$type, levels=c('IWCC/RWC','Temp')) ## 設(shè)置柱子出現(xiàn)的順序钞楼,通過該設(shè)置后IWCC/RWC變量的柱子在前喇闸,Temp在后,按照需要自行更改
p<-ggplot(data=data,aes(x=few,y=value,fill=type))+geom_bar(position=position_dodge(), stat="identity") #繪制柱狀圖,核心代碼就一行
#進行坐標軸燃乍,圖例等的微調(diào)
p1<-p+ylab("Total effect")+xlab("")
p2<-p1+theme_bw()+theme(legend.position='bottom')+labs(fill='') #設(shè)置背景為空唆樊,存放圖例位置及設(shè)置圖例的名稱
p3<-p2+theme(legend.text = element_text(colour="black", size = 12, face = "bold"))
p4<-p3+theme(axis.text.x=element_text(face="bold",size=12,angle=0,color="Black"),
axis.text.y=element_text(face="bold",size=12,angle=0,color="Black")
)
p5<-p4+theme(axis.title.y = element_text(size = 12, face="bold", color = "Black"))
可在命令行中依次輸入p,p1,p2,p3,p4,p5看出變化刻蟹,本文僅顯示p和p5逗旁,如下圖
通過上述代碼后,如果對顏色滿意則保存該文件舆瘪,然后打開R來運行上述代碼片效,結(jié)束后輸入命令p5,調(diào)整圖像的大小和比例英古,輸出為pdf淀衣,然后將pdf在ps或pdf編輯器中輸出為高分辨率的tif或jpeg格式
如果對顏色不滿意則繼續(xù)自定義顏色,可以將平時收集到的一些覺得配色很好的進行相同配色召调。
將配色的圖片導入到ps中膨桥,選取里面的配色,得到顏色的名稱唠叛。假如我想要下圖中的兩種顏色來進行配色
將該圖導入ps后只嚣,通過吸管工具吸取顏色,然后點擊該顏色
得到顏色名稱
注意本文中需要的是兩個顏色艺沼,故這里選取兩種顏色册舞,一種是#666699,一種是#669933
通過下述代碼:
p5+scale_fill_manual(values=c("#666699","#669933"))
結(jié)果如下
如果要橫軸的柱狀圖障般,則在
p<-ggplot(data=data,aes(x=few,y=value,fill=type))+geom_bar(position=position_dodge(), stat="identity") 中增加一
個coord_flip()
即
p<-ggplot(data=data,aes(x=few,y=value,fill=type))+geom_bar(position=position_dodge(), stat="identity")+coord_flip()
其余保持不變环础,一起運行則得到下圖
library(ggplot2)
setwd("D:/qixiang/final/全部要素") #設(shè)置目錄,本文中的數(shù)據(jù)放在該目錄下
data<-read.csv("zhu effect1.csv",header = TRUE) #讀取數(shù)據(jù)
data$type= factor(data$type, levels=c('IWCC/RWC','Temp')) ## 設(shè)置柱子出現(xiàn)的順序剩拢,通過該設(shè)置后IWCC/RWC變量的柱子在前,Temp在后饶唤,按照需要自行更改
p<-ggplot(data=data,aes(x=few,y=value,fill=type))+geom_bar(position=position_dodge(), stat="identity")+coord_flip() #繪制橫軸柱狀圖徐伐,核心代碼就一行
#進行坐標軸,圖例等的微調(diào)
p1<-p+ylab("Total effect")+xlab("")
p2<-p1+theme_bw()+theme(legend.position='bottom')+labs(fill='')
p3<-p2+theme(legend.text = element_text(colour="black", size = 12, face = "bold"))
p4<-p3+theme(axis.text.x=element_text(face="bold",size=12,angle=0,color="Black"),
axis.text.y=element_text(face="bold",size=12,angle=0,color="Black")
)
p5<-p4+theme(axis.title.y = element_text(size = 12, face="bold", color = "Black"))
##自定義顏???
p6<-p5+scale_fill_manual(values=c("#666699","#669933"))
帶誤差線的柱狀圖
很多科研的時候會需要加入誤差線募狂,假設(shè)誤差如下
只用更改上述模板中的核心代碼就行办素,在后面加入+geom_errorbar(aes(ymax = value+std, ymin = value-std),position = position_dodge(0.9), width = 0.2),其他和上述一樣,代碼如下:
data<-read.csv("zhu effect1.csv",header = TRUE) #讀取數(shù)據(jù)
p<-ggplot(data=data,aes(x=few,y=value,fill=type))+geom_bar(position=position_dodge(), stat="identity")
+geom_errorbar(aes(ymax = value+std, ymin = value-std),position = position_dodge(0.9), width = 0.2)
#進行坐標軸祸穷,圖例等的微調(diào)
p1<-p+ylab("Total effect")+xlab("")
p2<-p1+theme_bw()+theme(legend.position='bottom')+labs(fill='')
p3<-p2+theme(legend.text = element_text(colour="black", size = 12, face = "bold"))
p4<-p3+theme(axis.text.x=element_text(face="bold",size=12,angle=0,color="Black"),
axis.text.y=element_text(face="bold",size=12,angle=0,color="Black")
)
p5<-p4+theme(axis.title.y = element_text(size = 12, face="bold", color = "Black"))
##自定義顏???
p6<-p5+scale_fill_manual(values=c("#666699","#669933"))
結(jié)果如下
更多需求性穿,請查看個人介紹