版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
R語言數(shù)據(jù)可視化分析賈俊平2026/1/26基于R語言數(shù)據(jù)可視化分析賈俊平2026/1/26本書特色新穎的寫作視角嚴(yán)謹(jǐn)?shù)慕M織結(jié)構(gòu)完備的繪制代碼詳盡的圖形解讀賈俊平2026/1/262.1graphics簡介基本繪圖函數(shù)圖形參數(shù)圖形顏色頁面布局打開多個窗口第2章R語言繪圖基礎(chǔ)
2.2ggplot2簡介繪圖語法圖形外觀圖形注釋圖形分面圖形組合概要R的繪圖系統(tǒng)主要有3個一是基礎(chǔ)安裝時自帶的graphics繪圖系統(tǒng)或稱graphics包,該系統(tǒng)提供了多個繪圖函數(shù),可以繪制常用的一些圖形,用于快速的數(shù)據(jù)探索二是lattice系統(tǒng)或稱lattice包,該系統(tǒng)提供了繪制網(wǎng)格圖形的高級函數(shù)三是ggplot2系統(tǒng)或稱ggplot2包,該系統(tǒng)使用獨特的繪圖語法,可繪制多種二維圖形(ggplot2包使用前需要先下載并安裝后才能使用)
本章導(dǎo)讀graphics包也稱為基礎(chǔ)繪圖統(tǒng)或傳統(tǒng)繪圖系統(tǒng),該包提供了大量的基本繪圖函數(shù),可用于快速探索數(shù)據(jù)最初安裝R軟件時,該包就已經(jīng)安裝在R中,其中的繪圖函數(shù)可以直接使用graphics包中的繪圖函數(shù)可分為兩大類:一類是高級繪圖函數(shù),這類函數(shù)可以產(chǎn)生一幅獨立的圖形;另一類是低級繪圖函數(shù),這類函數(shù)不產(chǎn)生獨立的圖形,而是在高級函數(shù)繪制的圖形上添加一些圖形元素,如圖例、注釋文本、線段、數(shù)學(xué)表達式等
graphics系統(tǒng)(包)2.1graphics簡介基本繪圖函數(shù)—高級繪圖函數(shù)—plot【例2-1】
30名學(xué)生選修R語言和Python語言課程的分?jǐn)?shù)性別專業(yè)R語言Python語言男金融9376女管理9073男金融7263……………………男金融8371男金融8675女管理83712.1graphics簡介基本繪圖函數(shù)——其他高級繪圖函數(shù)函數(shù)數(shù)據(jù)類型圖形assocplot二維列聯(lián)表關(guān)聯(lián)圖barplot數(shù)值向量;矩陣;列聯(lián)表條形圖boxplot數(shù)值向量;列表;數(shù)據(jù)框箱線圖cdplot單一數(shù)值向量;一個對象條件密度圖contour數(shù)值,數(shù)值,數(shù)值等高線圖coplot表達式條件圖curve表達式曲線dotchart數(shù)值向量;矩陣點圖fourfoldplot2×2表四折圖函數(shù)數(shù)據(jù)類型圖形hist數(shù)值向量直方圖image數(shù)值,數(shù)值,數(shù)值色陣圖matplot數(shù)值向量;矩陣矩陣列圖mosaicplot二維列聯(lián)表,N維列聯(lián)表馬賽克圖pairs矩陣;數(shù)據(jù)框散點圖矩陣persp數(shù)值,數(shù)值,數(shù)值三維透視圖pie非負的數(shù)值向量;列聯(lián)表餅圖stars矩陣;數(shù)據(jù)框星圖stem數(shù)值向量莖葉圖stripchart數(shù)值向量;數(shù)值向量列表帶狀圖sunflowerplot數(shù)值向量,因子太陽花圖symbols數(shù)值,數(shù)值,數(shù)值符號圖2.1graphics簡介基本繪圖函數(shù)——低級繪圖函數(shù)函數(shù)描述abline為圖形添加截距為a、斜率為b的直線。arrows在坐標(biāo)點(x0,y0)和(x1,y1)之間繪制線段,并在端點處添加箭頭。box繪制圖形的邊框。layout布局圖形頁面。legend在坐標(biāo)點(x,y)處添加圖例。lines在坐標(biāo)點(x,y)之間添加直線。mtext在圖形區(qū)域的邊距或區(qū)域的外部邊距添加文本。points在坐標(biāo)點(x,y)處添加點。polygon沿著坐標(biāo)點(x,y)繪制多邊形。polypath繪制由一個或多個連接坐標(biāo)點的路徑組成的多邊形。rasterlmaga繪制一個或多個網(wǎng)格圖像。rect繪制一個左下角在(xleft,ybottom)處、右上角在(xright,ytop)處的矩形。rug添加地毯圖。segments在坐標(biāo)點(x0,y0)和(x1,y1)之間繪制線段。text在坐標(biāo)點(x,y)處添加文本。title為圖形添加標(biāo)題。xspline根據(jù)控制點(x,y)繪制x樣條曲線(平滑曲線)。低級繪圖函數(shù)不以產(chǎn)生獨立的圖形主要為現(xiàn)有的圖形添加新的元素,如添加線段、標(biāo)題、圖例、注釋文本、多邊形、坐標(biāo)軸等2.1graphics簡介基本繪圖函數(shù)——plot與低級函數(shù)的結(jié)合使用plot函數(shù)與低級繪圖函數(shù)的結(jié)合應(yīng)用2.1graphics簡介圖形參數(shù)graphics包中的每個繪圖函數(shù)都有多個參數(shù),圖形的輸出是由這些參數(shù)控制的繪圖時,若不對參數(shù)做任何修改,則函數(shù)使用默認參數(shù)繪制圖形。如果默認設(shè)置不能滿足需要,可對其進行修改,以改善圖形輸出繪制圖形時可根據(jù)需要調(diào)整參數(shù),根據(jù)圖形變化決定參數(shù)是否要修改以及如何修改。不同函數(shù)具有不同的參數(shù)及參數(shù)設(shè)置,這樣的參數(shù)屬于函數(shù)的特定參數(shù)有些參數(shù)在不同函數(shù)中都可以使用,這樣的參數(shù)屬于繪圖函數(shù)的標(biāo)準(zhǔn)參數(shù)有的標(biāo)準(zhǔn)參數(shù)在不同函數(shù)中的作用是不同的,比如,col參數(shù)在有些函數(shù)中用于設(shè)置點、符號等的顏色,但在條形圖、直方圖、箱線圖等函數(shù)中,col參數(shù)用來填充條、箱子的顏色,使用時需要注意。除繪圖函數(shù)本身的參數(shù)外,graphics包中繪制函數(shù)的參數(shù)也可以使用par函數(shù)來控制。使用help(par)可以查閱詳細信息2.1graphics簡介圖形參數(shù)par函數(shù)的常用參數(shù)及其對應(yīng)的數(shù)字2.1graphics簡介圖形顏色使用colors()函數(shù)可以查看R全部657種顏色的名稱列表使用graphics包繪圖時,設(shè)置繪圖顏色的參數(shù)主要有3個:col、bg和fg。col主要用于設(shè)置繪圖區(qū)域中繪制的數(shù)據(jù)符號、線條、文本等元素的顏色;bg用于設(shè)置圖形的前景顏色,如坐標(biāo)軸、圖形的邊框等;fg用于設(shè)置圖形的背景顏色,如圖形區(qū)域的顏色等除以上名稱外,要使用多種顏色繪圖時,也可以使用grDevices包提供的調(diào)色板函數(shù),如rainbow、heat.colors、col=colors、terrain.colors、topo.colors、cm.colors、gray.colors等。繪圖時可以將顏色設(shè)置為這些函數(shù),如col=colors(256)、col=rainbow(n,start=0.4,end=0.5)、col=heat.colors()等使用RColorBrewer包中的display.brewer.all函數(shù)可以查看R的調(diào)色板,其中包括連續(xù)型部分(單色系)、離散型部分(多色系)和極端值部分(雙色系)2.1graphics簡介圖形顏色——調(diào)色板——例題分析使用RColorBrewer包中的display.brewer.all函數(shù)可以查看R的調(diào)色板,也可以只展示其中的連續(xù)型部分、離散型部分或極端值部分16進制顏色代碼不同調(diào)色板繪制的條形圖2.1graphics簡介頁面布局——par函數(shù)和layout函數(shù)析
2.1graphics簡介打開多個繪圖窗口用dev.new()函數(shù)打開一個新的繪圖窗口;用函數(shù)dev.off()關(guān)閉新的繪圖窗口2.1graphics簡介繪圖語法ggplot2包是由HadleyWickham(2009)編寫的繪圖包該包提供了一種基于語法的圖形繪制系統(tǒng),因其圖形漂亮、語法規(guī)范受到人們廣泛喜愛用ggplot2包繪圖十分方便,尤其適合繪制二維圖形與傳統(tǒng)繪圖包graphics相比,不需要太多的細節(jié)設(shè)置就可以繪制出滿意的圖形基于ggplot2開發(fā)的繪圖包也有很多,如ggiraphExtra、ggpubr、tidyplots等,其中的函數(shù)兼容ggplot2的語法,而參數(shù)設(shè)置相對較少,方便快速繪圖2.2ggplot2簡介繪圖語法【例2-1】2.2ggplot2簡介繪圖語法ggplot2的繪圖過程類似于創(chuàng)作一幅油畫的過程:先準(zhǔn)備畫布、顏料等原材料,然后構(gòu)思畫面,再一層一層繪制ggplot2繪圖使用圖層(layer)概念,各圖層之間用“+”連接,后面的圖層疊加在前面的圖層之上。圖層包括數(shù)據(jù)(data)、映射(mapping)、幾何對象(geom_xx)、統(tǒng)計變換(stat_xx)、標(biāo)度(scale)、坐標(biāo)系(coord)、分面(facet)、主題(theme)等圖層可分為數(shù)據(jù)繪圖和細節(jié)美化兩大部分。繪圖代碼的基本結(jié)構(gòu)大致如下2.2ggplot2簡介#ggplot2繪圖代碼的基本結(jié)構(gòu)ggplot(data,
aes())
+#基礎(chǔ)圖層,不生成圖形元素(必需)
geom_xxx()
+
#幾何圖層,生成圖形元素(必需)
scale_xxx()
+
#標(biāo)度調(diào)整,如顏色、坐標(biāo)軸等(可選)
coord_xxx()
+
#坐標(biāo)變換,默認為笛卡兒坐標(biāo)系(可選)
facet_xxx()
+
#圖形分面,按因子或變量繪制面板圖形(可選)
theme_xxx()
+
#主題設(shè)置,用于調(diào)整圖形細節(jié)(可選)
labs()
#添加標(biāo)簽,如圖形標(biāo)題、坐標(biāo)軸標(biāo)題等(可選)繪圖語法首先,使用ggplot()函數(shù)創(chuàng)建圖形對象。該函數(shù)有data和mapping兩個主要參數(shù),用于定義繪圖時使用的數(shù)據(jù)以及圖形屬性映射。其中data的數(shù)據(jù)格式為數(shù)據(jù)框;mapping為變量的屬性映射,主要使用aes函數(shù)來映射變量x和y的位置(坐標(biāo)軸),也以用來控制顏色(color)、大?。╯ize)或形狀(shape)、填充變量等其次,使用geom_xxx()函數(shù)用于創(chuàng)建圖形。geom_xxx()下劃線后面指定要繪制的圖形2.2ggplot2簡介可選部分主要用于圖形的修改和美化等設(shè)置比如,使用標(biāo)度函數(shù)scale_xxx()來設(shè)置顏色、坐標(biāo)軸等;使用coord_xxx()函數(shù)將直角坐標(biāo)轉(zhuǎn)換成極坐標(biāo)、將x軸和y軸互換等;使用theme_xxx()函數(shù)設(shè)置圖形主題;使用labs()函數(shù)設(shè)置圖形標(biāo)題,等等圖形外觀——坐標(biāo)軸設(shè)置圖形外觀主要是指圖形中各種元素的設(shè)置圖形元素(graphicelement)包括兩大類表示數(shù)據(jù)的元素,如條形圖中的條、散點圖中的點、折線圖中的線等不表示數(shù)據(jù)的元素(非數(shù)據(jù)的元素),如圖形的坐標(biāo)軸(axis)、標(biāo)簽(label)、標(biāo)題(title)、圖例(legend)、主題(theme)等本節(jié)只介紹圖形中非數(shù)據(jù)元素的設(shè)置,數(shù)據(jù)元素的設(shè)置將在以后各章的繪圖中得以體現(xiàn)2.2ggplot2簡介圖形外觀——坐標(biāo)軸設(shè)置坐標(biāo)軸包括坐標(biāo)軸刻度(如刻度線的位置和數(shù)量)、數(shù)值范圍、刻度標(biāo)簽(如數(shù)值變量刻度位置表示的數(shù)值或類別變量刻度位置表示的類別名稱)、坐標(biāo)軸標(biāo)題(坐標(biāo)軸表示的變量名稱)等通常情況下,ggplot2默認設(shè)置的坐標(biāo)軸基本上能滿足需要,但有時也要做適當(dāng)修改。比如,修改坐標(biāo)軸刻度線的數(shù)量和位置,刻度標(biāo)簽字體大小和角度,x軸和y軸的數(shù)值范圍,坐標(biāo)軸標(biāo)題的字體大小、順序和擺放方式,等等2.2ggplot2簡介圖形外觀——坐標(biāo)軸設(shè)置圖(a)是默認繪制的類別軸(本圖為x軸)順序是R語言、Python語言,使用scale_x_discrete(limits=c())可根據(jù)需改變類別順序圖(b)是設(shè)置coord_flip()使坐標(biāo)軸互換,同時,將x軸(類別軸)標(biāo)簽旋轉(zhuǎn)90度圖(c)使用theme(axis.title.x=element_blank())移除y軸標(biāo)簽,要移除x軸標(biāo)簽使用類似的設(shè)置;設(shè)置theme(axis.ticks.y=element_blank())移除y軸的刻度線圖(d)使用theme(axis.ticks=element_blank())移除所有的刻度線,將坐標(biāo)軸標(biāo)簽旋轉(zhuǎn)是為了改變標(biāo)簽的角度。當(dāng)標(biāo)簽較多時,也可以設(shè)置scale_x_discrete(guide=guide_axis(n.dodge=2))使x軸標(biāo)簽排成為2行。使用xlim()可以數(shù)值x軸的數(shù)值范圍。設(shè)置x軸數(shù)值范圍時,函數(shù)會在該范圍內(nèi)設(shè)置坐標(biāo)軸刻度,重新設(shè)置刻度線可以使用scale_x_continuous(limits=c(),breaks=c())2.2ggplot2簡介圖形外觀——標(biāo)題設(shè)置ggplot2繪制的圖形不添加標(biāo)題,使用ggtitle("")函數(shù)可以添加標(biāo)題也可以使用labs(title="")函數(shù)添加標(biāo)題使用主題函數(shù)temem可以設(shè)置標(biāo)題的字體大小等2.2ggplot2簡介圖形外觀——圖例設(shè)置默認情況下,ggplot2繪制的圖形會自動添加圖例,并將圖例放在圖形的最右側(cè)使用函數(shù)theme()可以修改圖例,包括刪除圖例、改變圖例的位置、設(shè)置圖例字體的大小等使用guides()函數(shù)可以修改圖例標(biāo)題、改變圖例的排放方式等2.2ggplot2簡介圖形外觀——標(biāo)簽設(shè)置在可視化過程中,有時會涉及多個變量,有些變量名稱可能較長,這時產(chǎn)生的坐標(biāo)軸標(biāo)簽或圖例標(biāo)簽就可能會重疊或相互遮蓋,不僅難以識別,也影響影響美觀有些可以通過標(biāo)簽角度旋轉(zhuǎn)的辦法解決,有些則需要另行處理2.2ggplot2簡介圖形外觀——標(biāo)簽設(shè)置在有些圖形中,需要在圖中添加數(shù)據(jù)標(biāo)簽或數(shù)據(jù)對應(yīng)的名稱標(biāo)簽等使用ggplot2包中的geom_text函數(shù)可以為圖形添加標(biāo)簽,但當(dāng)標(biāo)簽較多時會產(chǎn)生重疊或相互遮蓋。這時可以使用ggrepel包中的geom_text_repel函數(shù)替代geom_text函數(shù)添加標(biāo)簽,以避免標(biāo)簽重疊為條形圖填充標(biāo)簽,可使用ggfittext包中的geom_bar_text或geom_fit_text函數(shù)為圖形添加曲線文本標(biāo)簽,可使用geomtextpath包中的函數(shù),等等2.2ggplot2簡介圖形外觀——主題設(shè)置使用theme來控制所有非數(shù)據(jù)顯示的完整主題函數(shù)默認使用theme_grey()或theme_gray()主題,即帶有灰色背景和白色網(wǎng)格線的標(biāo)志性ggplot2主題可選主題有theme_bw(),經(jīng)典的黑白主題,;theme_minimal(),沒有背景注釋的簡約主題;theme_classic()外觀經(jīng)典的主題,有x和y軸線條,沒有網(wǎng)格線;theme_void()完全空的主題(無主題),等等2.2ggplot2簡介圖形外觀——主題設(shè)置ggthemes包提供了20多種ggplot2圖形的擴展主題2.2ggplot2簡介圖形注釋為圖形添加注釋的函數(shù)主要是annotate,它可以為圖像添加多種不同的注釋信息2.2ggplot2簡介圖形分面圖形分面(facet)就是要將多個子圖排列成矩陣網(wǎng)格的形式,排列后的多個子圖形成一幅獨立的圖形使用facet_wrap函數(shù)或facet_grid函數(shù)可以對圖形進行分面2.2ggplot2簡介圖形組合圖形分面是將多幅同類圖形排列成網(wǎng)格形式,其中的格子大小在多數(shù)情況下是相同的。圖形組合則是將多幅獨立的不同圖形組合成R×C的網(wǎng)格形式,其中格子大小可以相同,也可以不相同要將ggplot2繪制的多幅獨立圖形組合成一幅圖形,可以使用patchwork包中的算法組合、gridExtra包中g(shù)rid.arrange函數(shù)和arrangeGrob函數(shù)、cowplot包中的plot_grid函數(shù)等。patchwork是用于ggplot2及其擴展包的圖形對象的拼圖包,它使用運算符(”+”、“|”、“/”等符號組合圖形)來拼圖,使用簡單,功能強大,可根據(jù)需
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 疆醫(yī)大臨床麻醉學(xué)課件第27章 小兒麻醉
- 企業(yè)營銷策劃及管理咨詢公司財務(wù)管理制度
- 易語言培訓(xùn)班基礎(chǔ)課件
- 快車操作培訓(xùn)課程
- 六大紀(jì)律方培訓(xùn)課件
- 潰瘍病穿孔課件
- 甲狀腺功能亢進癥的診治現(xiàn)狀課件
- 校外培訓(xùn)主題班會課件模板
- 公路路基施工培訓(xùn)課件
- 2026年中考地理一輪復(fù)習(xí)基礎(chǔ)過關(guān)課件:氣溫與降水、天氣預(yù)報
- 籃球場工程施工設(shè)計方案
- (市質(zhì)檢二檢)福州市2024-2025學(xué)年高三年級第二次質(zhì)量檢測 歷史試卷(含答案)
- 《外科手術(shù)學(xué)基礎(chǔ)》課件
- 化學(xué)-湖南省永州市2024-2025學(xué)年高二上學(xué)期1月期末試題和答案
- 2025年貴安發(fā)展集團有限公司招聘筆試參考題庫含答案解析
- DB33T 1214-2020 建筑裝飾裝修工程施工質(zhì)量驗收檢查用表標(biāo)準(zhǔn)
- 高考語文復(fù)習(xí)【知識精研】鑒賞古代詩歌抒情方式 課件
- 春運志愿者培訓(xùn)
- 語文-安徽省皖南八校2025屆高三上學(xué)期12月第二次大聯(lián)考試題和答案
- 養(yǎng)豬企業(yè)新員工職業(yè)規(guī)劃
- 《建筑工程設(shè)計文件編制深度規(guī)定》(2022年版)
評論
0/150
提交評論