R語言繪圖系列:
成都創(chuàng)新互聯是一家集網站建設,玉溪企業(yè)網站建設,玉溪品牌網站建設,網站定制,玉溪網站建設報價,網絡營銷,網絡優(yōu)化,玉溪網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
使用geom_label繪制標簽散點圖
繪制點,并通過nudge參數對標簽進行x軸和y軸上的平移
使用angle參數對標簽角度進行設置
geom_label可以使用fill對顏色進行填充,fontface設置字體,geom_text不能填充顏色
parse參數意思是前面?zhèn)魅氲氖且粋€數學表達式,size定義標簽相對大小。
畫一個散點圖
annotate函數傳入標簽
添加矩形
添加短線段
2.1 guide_legend函數(主要參數:color, shape, size)
圖例調整函數也屬于標度函數的一類,但不可以直接使用加號來連接,必須放在函數中,作為一個參數。
guide_colorbar和guide_legend設置的是不同的圖例,guide_colorbar定義色條圖例,guide_legend定義普通圖例。
2.2 標度函數scale
對于連續(xù)型變量,使用的參數是scale_xxx_continous(),對于分類型變量,使用的是scale_xxx_discrete()。
2.3:theme函數
在theme函數中,與圖例有關的主要參數有:
標題主要有五種:主標題,副標題,角注,x軸標簽和y軸標簽
ggtitle()只能定義標題和副標題,默認的位置在左上角。
查看GOplot內示例數據的格式,對自己的數據做處理
觀察結論:
觀察自己的兩個數據表:
table.legend 設置為T時會顯示表格
本圖中表格和圖例是出圖后剪切拼合而成,沒有用R中的拼圖包
前面我給大家詳細介紹過
?GO簡介及GO富集結果解讀
?四種GO富集柱形圖、氣泡圖解讀
?GO富集分析四種風格展示結果—柱形圖,氣泡圖
?KEGG富集分析—柱形圖,氣泡圖,通路圖
? DAVID GO和KEGG富集分析及結果可視化
也用視頻給大家介紹過
? GO和KEGG富集分析視頻講解
最近有粉絲反映說,利用clusterProfiler這個包繪制GO富集分析氣泡圖和柱形圖的時候,發(fā)現GO條目的名字都重疊在一起了。
氣泡圖
柱形圖
這個圖別說美觀了,簡直不忍直視。經過我的認真研究,發(fā)現跟R版本有關。前面我給大家展示的基本都是R 3.6.3做出來的圖。很多粉絲可能用的都是最新版本的R 4.1.2。
我們知道R的版本在不停的更新,相應的R包也在不停的更新。我把繪制氣泡圖和柱形圖相關的函數拿出來認真的研究了一下,終于發(fā)現的癥結所在。
dotplot這個函數,多了個 label_format 參數
我們來看看這個參數究竟是干什么用的,看看參數說明
label_format :
a numeric value sets wrap length, alternatively a custom function to format axis labels. by default wraps names longer that 30 characters
原來這個參數默認值是30,當標簽的長度大于30個字符就會被折疊,用多行來展示。既然問題找到了,我們就來調節(jié)一下這個參數,把他設置成100,讓我們的標簽可以一行展示。
是不是還是原來的配方,還是熟悉的味道
同樣的柱形圖,我們也能讓他恢復原來的容貌。
關于如何使用R做GO和KEGG富集分析,可參考下文
GO和KEGG富集分析視頻講解
R語言繪圖系列:
標度控制著數據到圖形屬性的映射,標度將我們的數據轉化為視覺上可以感知的東西,比如大小、位置、顏色、形狀等。標度也為我們提供了讀圖時所使用的工具,比如說坐標軸和圖例??偟膩碚f,可以稱為引導元素。標度函數控制元素的屬性,可以理解為圖形的遙控器,可以用它來調整畫布大小、顏色等等。此前學的shape,color,size等參數和標度函數相比顯得不夠靈活。
scale_fill_brewer 調色板函數
geom_errorbar()
geom_crossbar()
geom_linerange() 繪制線段
geom_pointrange() 繪制點
pointrange:點畫線
首先繪制一張盒形圖
在圖上顯示出觀測值
值得注意的是,圖上點的多少并不能完全反應原始數據的多少,因為有的點可能因為點過于密集就會被覆蓋,看起來是一個點,其實可能是多個點。
因此可以使用geom_jitter函數將不同的點區(qū)分開(jitter是震蕩散點),width設置如果遇到相同的點,點向左右方平移的距離。alpha設置透明度。
黑色點是離群點
還可以繪制卡槽圖
varwidth參數會根據該水平下觀測值的個數(n值)改變盒形圖的寬度。(這里寬度去的不是觀測個數的絕對值,而是平方根,以縮小差距。)
給盒子上色
分組盒形圖,用不同顏色區(qū)分
畫水平的盒形圖
使用coord_flip函數(坐標軸翻轉函數)
繪制一張直方圖
bins可以設置直方圖條柱的數目,默認為30。當bins和binwidth(設置條柱寬度)同時設置時,默認以binwidth為準。
新加入變量cut,根據新變量在price水平上進行一個計數
y軸由count變?yōu)閐ensity,繪制概率密度
注意下面density的寫法,前后都要加..
繪制概率密度曲線:geom_density函數
堆棧密度概率曲線
geom_line/geom_path/geom_step
繪制一個簡單的線圖
繪制點線圖,點和線需要分別添加。
如上圖,線在點之上,是因為先投射了點,又投射了線。
先投射線,點就出現在了線之上。
線的顏色出現了漸變
geom_smooth函數:繪制擬合曲線
methods還有其他的方法,如glm:廣義線性模型;losses:純粹平滑;gam:廣義加性模型等等(lm和glm最常用)
geom_hline繪制水平線,geom_vline繪制垂直線。xintercept和yintercept是截距,slope是斜率。