給你一些代碼,你慢慢研究:
成都創(chuàng)新互聯(lián)憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識(shí)和豐厚的資源優(yōu)勢(shì),提供專業(yè)的網(wǎng)站策劃、成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都十載的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都1000+中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。
install.packages('ggplot2')
library(ggplot2)
ggplot(a)+geom_bar(aes(x1,y,fill/col=x1/x2),position='dodge',stat='summary',fun='sum'/'mean')條形圖+theme(text = element_text(family='Kai'))
ggplot(a)+geom_boxplot(aes(x1,y,col=x1/x2))箱線圖
ggplot(a)+geom_point(aes(x1,y,col=x1/x2),position=position_jitter(width=0.04))散點(diǎn)圖
1+geom_point(aes(x1,y,col=x1/x2),stat='summary',fun='sum'/'mean')+散點(diǎn)
2+geom_line(aes(x1,y,group=1/x2,col=x1/x2),stat='summary',fun='sum'/'mean')+折線
3+geom_errorbar(aes(x=x1,ymin=y-se,ymax=y+se,col=x1/x2),position=position_dodge(0.9),width=0.2)+誤差棒
4+geom_text(aes(x1,y,label=marker,col=x1/x2),position=position_dodge(0.9)vjust=2或y+2)+顯著字母
ggplot(a,aes(x1,y,fill/col=x1/x2))+geom_bar(position='dodge',stat='summary',fun='sum'/'mean')+geom_errorbar(aes(ymin=y-se,ymax=y+se),position=position_dodge(0.9),width=0.2)+geom_text(aes(label=marker),position=position_dodge(0.9),vjust=-2)條形圖+誤差棒+顯著字母(坐標(biāo)寫一次即可)
ggplot(a,aes(x1,y,col=x1/x2))+geom_point(position=position_jitter(width=0.04),stat='summary',fun='sum'/'mean')+geom_line(aes(group=1/x2),stat='summary',fun='sum'/'mean')+geom_errorbar(aes(ymin=y-se,ymax=y+se),position=position_dodge(0.9),width=0.2)+geom_text(aes(label=marker),position=position_dodge(0.9),vjust=-2)散點(diǎn)圖+折線+誤差棒+顯著字母(坐標(biāo)寫一次即可)
+geom_density(aes(y=liqi))密度圖(1個(gè)數(shù)值型)
+geom_area(aes(x=tan,y=liqi))區(qū)域圖(2個(gè)數(shù)值型)
+geom_smooth(aes(x=tan,y=liqi,group/col=chong),formula=y~x,method='lm',se=F)擬合圖,分組/線條顏色(2個(gè)數(shù)值型)
+facet_wrap(~riqi,ncol/nrow=2,labeller='label_both/value')分面圖,每行或每列分面數(shù),分面標(biāo)題
+xlab('自變量1(單位)')+ylab('因變量(單位)')+scale_fill_discrete(name='自變量2')更改軸和圖例名稱+coord_cartesian(ylim= c(0,80))限定軸范圍
(fill=x1/x2,有此即可變色)+scale_fill_manual(values = c('grey70', 'grey50', 'grey30'))改變條形填充顏色(顏色數(shù)量=分組數(shù)量)
(col=x1/x2,有此即可變色)+scale_color_manual(values = c('red', 'orange', 'yellow'))改變顏色(顏色數(shù)量=分組數(shù)量)
散點(diǎn)圖是將所有的數(shù)據(jù)以點(diǎn)的形式展現(xiàn)在直角坐標(biāo)系上,以顯示變量之間的相互影響程度,點(diǎn)的位置由變量的數(shù)值決定,每個(gè)點(diǎn)對(duì)應(yīng)一個(gè) X 和 Y 軸點(diǎn)坐標(biāo)。散點(diǎn)圖可以用R自帶的plot()函數(shù)繪制,也可以用ggplot2包的geom_point()和 geom_dotplot()函數(shù)來繪制,當(dāng)使用geom_dotplot()繪圖時(shí),point的形狀是dot,不能改變點(diǎn)的形狀,因此,geom_dotplot 叫做散點(diǎn)圖(Scatter Plot),通過繪制點(diǎn)來呈現(xiàn)數(shù)據(jù)的分布,對(duì)點(diǎn)分箱的方法有兩種:點(diǎn)密度(dot-density )和直方點(diǎn)(histodot)。當(dāng)使用點(diǎn)密度分箱(bin)方式時(shí),分箱的位置是由數(shù)據(jù)和binwidth決定的,會(huì)根據(jù)數(shù)據(jù)進(jìn)行變化,但不會(huì)大于binwidth指定的寬度;當(dāng)使用直方點(diǎn)分箱方式時(shí),分箱有固定的位置和固定的寬度,就像由點(diǎn)構(gòu)成的直方圖(histogram)。
基本語(yǔ)法:
x 橫坐標(biāo) x 軸的數(shù)據(jù)集合;
y 縱坐標(biāo) y 軸的數(shù)據(jù)集合;
type:繪圖的類型,p 為點(diǎn)、l 為直線, o 同時(shí)繪制點(diǎn)和線,且線穿過點(diǎn);
main:圖表標(biāo)題;
xlab、ylab x 軸和 y 軸的標(biāo)簽名稱;
xlim、ylim x 軸和 y 軸的范圍;
axes 布爾值,是否繪制兩個(gè) x 軸。
p:點(diǎn)圖;
l:線圖;
b:同時(shí)繪制點(diǎn)和線;
c:僅繪制參數(shù) b 所示的線;
o:同時(shí)繪制點(diǎn)和線,且線穿過點(diǎn);
h:繪制出點(diǎn)到橫坐標(biāo)軸的垂直線;
s:階梯圖,先橫后縱;
S:階梯圖,先縱后豎;
n: 空?qǐng)D。
美化后的散點(diǎn)圖
散點(diǎn)圖矩陣是借助兩變量散點(diǎn)圖的作圖方法,它可以看作是一個(gè)大的圖形方陣,其每一個(gè)非主對(duì)角元素的位置上是對(duì)應(yīng)行的變量與對(duì)應(yīng)列的變量的散點(diǎn)圖。而主對(duì)角元素位置上是各變量名,這樣,借助散點(diǎn)圖矩陣可以清晰地看到所研究多個(gè)變量?jī)蓛芍g的相關(guān)關(guān)系。散點(diǎn)圖矩陣就是把數(shù)據(jù)集中的每個(gè)數(shù)值變量?jī)蓛衫L制散點(diǎn)圖,這里我們用pairs()函數(shù)繪制。
把直方圖放在對(duì)角線上
geom_point()函數(shù)用于創(chuàng)建散點(diǎn)圖。散點(diǎn)圖對(duì)于顯示兩個(gè)連續(xù)變量之間的關(guān)系最有用。它可以用于比較一個(gè)連續(xù)變量和一個(gè)類別變量,或者兩個(gè)類別變量,但是像geom_jitter()、geom_count()或geom_bin2d()這樣的變體通常更合適。氣泡圖是一個(gè)散點(diǎn)圖,第三個(gè)變量映射到點(diǎn)的大小。
首先,下載并安裝好R軟件。打開R軟件,可以看到R軟件主窗口。
為了方便編輯代碼,一般不在主窗口直接輸入程序。我們可以點(diǎn)擊“文件——新建程序腳本”,出現(xiàn)R編輯器。我們將在此輸入需要運(yùn)行的命令。
使用因子格式輸入數(shù)據(jù)。這里輸入兩組數(shù)據(jù),以便后面說明詳細(xì)使用方法。
輸入命令plot(x),表示繪制序列x的散點(diǎn)圖。選中程序,右鍵,點(diǎn)擊“運(yùn)行當(dāng)前行或選中代碼”,運(yùn)行程序。按F5鍵或者Ctrl+R鍵也可以實(shí)現(xiàn)。在圖標(biāo)顯示框出現(xiàn)散點(diǎn)圖了。
輸入命令plot(x,y),其中x表示自變量,y是因變量,生成y關(guān)于x的散點(diǎn)圖。運(yùn)行命令,即出現(xiàn)散點(diǎn)圖。
再增加一組數(shù)據(jù),用coplot函數(shù)繪制多變量的散點(diǎn)圖。coplot(x~m|y)表示在不同的y值下,x關(guān)于m的散點(diǎn)圖。
7
更多可以查閱相關(guān)資料,繪制更美觀的散點(diǎn)圖。
前面我給大家詳細(xì)介紹過
?GO簡(jiǎn)介及GO富集結(jié)果解讀
?四種GO富集柱形圖、氣泡圖解讀
?GO富集分析四種風(fēng)格展示結(jié)果—柱形圖,氣泡圖
?KEGG富集分析—柱形圖,氣泡圖,通路圖
? DAVID GO和KEGG富集分析及結(jié)果可視化
也用視頻給大家介紹過
? GO和KEGG富集分析視頻講解
最近有粉絲反映說,利用clusterProfiler這個(gè)包繪制GO富集分析氣泡圖和柱形圖的時(shí)候,發(fā)現(xiàn)GO條目的名字都重疊在一起了。
氣泡圖
柱形圖
這個(gè)圖別說美觀了,簡(jiǎn)直不忍直視。經(jīng)過我的認(rèn)真研究,發(fā)現(xiàn)跟R版本有關(guān)。前面我給大家展示的基本都是R 3.6.3做出來的圖。很多粉絲可能用的都是最新版本的R 4.1.2。
我們知道R的版本在不停的更新,相應(yīng)的R包也在不停的更新。我把繪制氣泡圖和柱形圖相關(guān)的函數(shù)拿出來認(rèn)真的研究了一下,終于發(fā)現(xiàn)的癥結(jié)所在。
dotplot這個(gè)函數(shù),多了個(gè) label_format 參數(shù)
我們來看看這個(gè)參數(shù)究竟是干什么用的,看看參數(shù)說明
label_format :
a numeric value sets wrap length, alternatively a custom function to format axis labels. by default wraps names longer that 30 characters
原來這個(gè)參數(shù)默認(rèn)值是30,當(dāng)標(biāo)簽的長(zhǎng)度大于30個(gè)字符就會(huì)被折疊,用多行來展示。既然問題找到了,我們就來調(diào)節(jié)一下這個(gè)參數(shù),把他設(shè)置成100,讓我們的標(biāo)簽可以一行展示。
是不是還是原來的配方,還是熟悉的味道
同樣的柱形圖,我們也能讓他恢復(fù)原來的容貌。
關(guān)于如何使用R做GO和KEGG富集分析,可參考下文
GO和KEGG富集分析視頻講解