




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ggplot2繪圖工具01102交互式繪圖工具01ggplot2繪圖工具201PAGE3ggplot2繪圖工具ggplot2是一套全面而連貫的語(yǔ)法繪圖系統(tǒng)。它彌補(bǔ)了R語(yǔ)言中創(chuàng)建圖形缺乏一致性的缺點(diǎn)。ggplot2具有以下特性:高質(zhì)量圖形的繪制,自動(dòng)化添加網(wǎng)格線和圖例。疊加來(lái)自不同數(shù)據(jù)源的多個(gè)圖層(點(diǎn)、線、地圖、箱線圖等)。利用R語(yǔ)言強(qiáng)大的建模功能添加平滑曲線,如loess、線性模型、廣義可加模型和穩(wěn)健回歸。保存任意ggplot2圖形,方便修改或重復(fù)使用。制作主題,滿足內(nèi)部定制或雜志風(fēng)格的需求,便捷地應(yīng)用到多副圖形上。從視覺(jué)角度上審視你的圖形,斟酌每一部分?jǐn)?shù)據(jù)如何呈現(xiàn)在最終圖形上。3PAGE4從qplot()函數(shù)開(kāi)始qplot()函數(shù)的意思是快速作圖(quickplot),利用它可以很方便地創(chuàng)建各種復(fù)雜圖形。qplot()函數(shù)被設(shè)計(jì)得與plot()函數(shù)很像,因此如果有base包繪圖基礎(chǔ),那么用起它來(lái)也會(huì)很容易。qplot()函數(shù)的基本表達(dá)形式為:
qplot(x,y=NULL,...,data,facets=NULL,margins=FALSE,geom="auto",stat=list(NULL),position=list(NULL),xlim=c(NA,NA),ylim=c(NA,NA),log="",main=NULL,xlab=deparse(substitute(x)),ylab=deparse(substitute(y)),asp=NA)其中,參數(shù)facets是圖形/數(shù)據(jù)的分面,參數(shù)geom指圖形的幾何類(lèi)型,參數(shù)stat指圖形的統(tǒng)計(jì)類(lèi)型,參數(shù)position可圖形或者數(shù)據(jù)的位置調(diào)整,其他參數(shù)與plot()函數(shù)類(lèi)似。4>if(!require(ggplot2))install.packages("ggplot2")>plot(mtcars$wt,mtcars$mpg)#方法一>qplot(mtcars$wt,mtcars$mpg)#方法二PAGE5從qplot()函數(shù)開(kāi)始同樣也可以使用參數(shù)main增加主標(biāo)題,xlab、ylab修改X軸標(biāo)題和Y軸標(biāo)題,通過(guò)xlim,ylim參數(shù)修改X軸、Y軸的范圍。5>#修改標(biāo)題及坐標(biāo)軸>plot(mtcars$wt,mtcars$mpg,main="利用plot函數(shù)繪制散點(diǎn)圖",+xlab="Weight(1000lbs)",ylab="Miles/(US)gallon",+xlim=c(0,10),ylim=c(0,40))#方法一>qplot(mtcars$wt,mtcars$mpg,main="利用qplot函數(shù)繪制散點(diǎn)圖",+xlab="Weight(1000lbs)",ylab="Miles/(US)gallon",+xlim=c(0,10),ylim=c(0,40))#方法二PAGE6從qplot()函數(shù)開(kāi)始甚至,qplot()函數(shù)也利用參數(shù)pch改變點(diǎn)形狀、cex改變點(diǎn)大小、col改變顏色。6>#修改顏色、形狀、大小>plot(mtcars$wt,mtcars$mpg,main="利用plot函數(shù)繪制散點(diǎn)圖",+xlab="Weight(1000lbs)",ylab="Miles/(US)gallon",+xlim=c(0,10),ylim=c(0,40),+pch=7,cex=2,col="green")#方法一>qplot(mtcars$wt,mtcars$mpg,main="利用qplot函數(shù)繪制散點(diǎn)圖",+xlab="Weight(1000lbs)",ylab="Miles/(US)gallon",+xlim=c(0,10),ylim=c(0,40),pch=I(7),+cex=I(2),col=I("green"))#方法二PAGE7從qplot()函數(shù)開(kāi)始上面的例子都是通過(guò)利用qplot()函數(shù)繪制散點(diǎn)圖,可以通過(guò)參數(shù)geom指定不同的幾何對(duì)象,繪制各種圖形。7>#通過(guò)geom參數(shù)指定圖形的幾何類(lèi)型>library(ggplot2)>q1<-qplot(wt,mpg,data=mtcars,geom="point",main="散點(diǎn)圖")>q2<-qplot(wt,mpg,data=mtcars,geom=c("point","smooth"),+main="增加擬合曲線的散點(diǎn)圖")>q3<-qplot(Species,Sepal.Length,data=iris,geom="boxplot",main="箱線圖")>q4<-qplot(Species,Sepal.Length,data=iris,geom="violin",main="小提琴圖")>q5<-qplot(clarity,data=diamonds,geom="bar",main="柱狀圖")>q6<-qplot(carat,data=diamonds,geom="histogram",main="直方圖")>if(!require(gridExtra))install.packages("gridExtra")>grid.arrange(q1,q2,q3,q4,q5,q6,ncol=3)PAGE8ggplot()函數(shù)繪圖ggplot()函數(shù)的功能是初始化一個(gè)ggplot對(duì)象,不指定做圖內(nèi)容。其使用格式為:
ggplot(data=NULL,…)其中,data指數(shù)據(jù)集。layer()函數(shù)的功能是創(chuàng)建一個(gè)新的圖層。其使用格式為:layer(geom,stat,data,mapping,position)其中,geom為圖形的幾何類(lèi)型,stat為圖形的統(tǒng)計(jì)類(lèi)型,data指數(shù)據(jù)集,mapping指映射,position可圖形或者數(shù)據(jù)的位置調(diào)整。8幾何對(duì)象函數(shù)描述
geom_abline直線:由斜率和截距指定geom_area面積圖geom_bar條形圖geom_bin2d二維封箱的熱圖geom_blank空的幾何對(duì)象,什么也不畫(huà)geom_boxplot箱線圖geom_contour等高線圖geom_crossbarCrossbar圖(類(lèi)似于箱線圖,但沒(méi)有觸須和極值點(diǎn))geom_density密度圖geom_density2d二維密度圖geom_errorbar誤差線(通常添加到其他圖形上,比如柱狀圖、點(diǎn)圖、線圖等)geom_errorbarh水平誤差線geom_freqploy頻率多邊形(類(lèi)似于直方圖)geom_hex六邊形圖(通常用于六邊形封箱)geom_histogram直方圖geom_hline水平線geom_jitter自動(dòng)添加了擾動(dòng)點(diǎn)geom_line線geom_linerange區(qū)間,用豎直線表示geom_path幾何路徑,由一組點(diǎn)按順序鏈接geom_point點(diǎn)geom_pointrange一條垂直線,線的中間有一個(gè)點(diǎn)(與Crossbar圖和箱線圖有關(guān))geom_polygon多邊形geom_quantile一組分位數(shù)線(來(lái)自分位數(shù)回歸)geom_rect二維的長(zhǎng)方形geom_ribbon彩虹圖geom_rug觸須geom_segment線段geom_smooth平滑的條件均值geom_step階梯圖geom_text文本geom_tile瓦片(即一個(gè)個(gè)小長(zhǎng)方形或多邊形)PAGE9ggplot()繪圖示例9>library(ggplot2)>ggplot(iris,aes(x=Species,y=Sepal.Length,fill=Species))++geom_boxplot()++labs(title="依據(jù)種類(lèi)分組的花萼長(zhǎng)度箱線圖")++theme(legend.position="none")>ggplot(iris,aes(x=Species,y=Sepal.Length,fill=Species))++geom_violin()++geom_jitter()++labs(title="依據(jù)種類(lèi)分組的花萼長(zhǎng)度箱線圖")++theme(legend.position="none")PAGE10ggplot2分面板10可以利用facet_wrap()或facet_grid()函數(shù)對(duì)圖形進(jìn)行分面。例如利用lattice中的數(shù)據(jù)集singer,對(duì)不同聲部的身高數(shù)據(jù)繪制密度圖。可以設(shè)置面板的行數(shù)或列數(shù)(通過(guò)facet_wrap()中的參數(shù)nrow和ncol設(shè)置),并可以利用主題參數(shù)theme設(shè)置圖例。>data(singer,package="lattice")>ggplot(data=singer,aes(x=height,fill=voice.part))++geom_density()++facet_wrap(~voice.part,ncol=4)++theme(legend.position="none")PAGE11修改顏色11可以使用scale_color_manual()或scale_color_brewer()函數(shù)修改圖形的顏色。#調(diào)整圖形填充顏色>#方式一:使用scale_color_manual函數(shù)>g1<-ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width,colour=Species,shape=Species))++scale_color_manual(values=c("orange","olivedrab","navy"))++geom_point(size=3)>#方式二:使用scale_color_brewer函數(shù)>g2<-ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width,colour=Species,shape=Species))++scale_color_brewer(palette="Set1")++geom_point(size=3)>gridExtra::grid.arrange(g1,g2,ncol=2)PAGE12ggthemes擴(kuò)展包12ggthemes是ggplot2的主題擴(kuò)展包,提供ggplot2使用的新主題、尺度、幾何對(duì)象和一些新函數(shù)。ggthemes通過(guò)install.packages("ggthemes",dependencies=TRUE)命令進(jìn)行安裝。加載該包主要作用是ggthemes提供的themes可以讓我們快速繪制不同主題圖像。主題名描述
theme_base類(lèi)似于ggplot默認(rèn)設(shè)置theme_calc類(lèi)似LibreOfficeCalc圖表theme_economist類(lèi)似經(jīng)濟(jì)類(lèi)圖表theme_economist_white類(lèi)似經(jīng)濟(jì)類(lèi)圖表theme_excel類(lèi)似經(jīng)典excel圖表theme_few簡(jiǎn)潔型theme_fivethirtyeight類(lèi)似于
的圖
theme_foundation這個(gè)主題的設(shè)計(jì)是為基礎(chǔ)建立新的主題,而不是直接使用。theme_foundation是一個(gè)完整的主題,只有最小的元素定義。它相比于theme_gray或theme_bw更容易通過(guò)擴(kuò)展創(chuàng)建新的主題。theme_gdocs類(lèi)似默認(rèn)的GoogleDocsCharttheme_hcHighchartsJStheme_igary主題與白色面板和灰色背景。theme_map一個(gè)簡(jiǎn)潔的地圖主題theme_panderpander的默認(rèn)主題theme_solarized可以看/solarized的介紹theme_solarized_2同上theme_solid主題刪除所有non-geom元素(線條、文本等),這個(gè)主題只有所需的幾何對(duì)象。theme_stata基于Statagraphschemes的主題theme_tufte基于數(shù)據(jù)墨水最大化和圖形設(shè)計(jì)的EdwardTufte定量信息的視覺(jué)顯示。沒(méi)有邊界,沒(méi)有軸線,沒(méi)有網(wǎng)格。這個(gè)主題與geom_rug或geom_rangeframe結(jié)合效果最好。theme_wsjWallStreetJournalthemePAGE13ggExtra擴(kuò)展包13ggExtra是一個(gè)在ggplot2圖形邊緣添加直方圖的擴(kuò)展包,可以通過(guò)install.packages(“ggExtra”)命令進(jìn)行安裝。ggMarginal()函數(shù)可以給ggplot2圖形邊界添加密度圖、直方圖、箱線圖或小提琴圖。運(yùn)行以下代碼給散點(diǎn)圖的X、Y軸添加直方圖。>library(ggExtra)>library(ggplot2)>set.seed(1234)>df<-data.frame(x=rnorm(1000,50,10),y=rnorm(1000,50,10))>p<-ggplot(df,aes(x,y))+geom_point()+theme_classic()>#addmarginalhistograms>ggMarginal(p,type="histogram")>ggMarginal(p,type="histogram",colour="pink",fill="green")交互式繪圖工具1402PAGE15recharts包15recharts基于Echarts2的一個(gè)穩(wěn)定發(fā)布版(v2.2.7)開(kāi)發(fā),安裝命令如下:recharts是一個(gè)用于交互可視化的R擴(kuò)展包,它提供了一套面向JavaScript庫(kù)ECharts2的接口。此包的目的是讓R語(yǔ)言用戶即便不精通HTML或JavaScript,也能用很少的代碼做出Echarts交互圖。當(dāng)然,懂一點(diǎn)JavaScript的話會(huì)更如虎添翼。recharts基于htmlwidgets擴(kuò)展包開(kāi)發(fā),這樣做的優(yōu)點(diǎn)是極大地節(jié)省了開(kāi)發(fā)者管理JavaScript依賴(lài)包和處理不同類(lèi)型的輸出文檔(如RMarkdown和Shiny)的時(shí)間。你只需要?jiǎng)?chuàng)建一幅圖,而如何輸出這幅圖(無(wú)論RMarkdown,Shiny,還是R控制臺(tái)/RStudio)則交由htmlwidgets來(lái)處理。if(!require(devtools))library(devtools)devtools::install_github('madlogos/recharts')PAGE16recharts包-散點(diǎn)圖16此包的主函數(shù)是echartr()和S3通用函數(shù)echart()。在設(shè)計(jì)宗旨上,希望它們能自動(dòng)處理不同類(lèi)型數(shù)據(jù)。比如,當(dāng)把一個(gè)數(shù)據(jù)框傳入echart(),而x、y變量均為數(shù)值型,它們會(huì)自動(dòng)適配散點(diǎn)圖,并自動(dòng)生成對(duì)應(yīng)的坐標(biāo)軸。當(dāng)然,你也可以通過(guò)參數(shù)type選擇需要展示的圖形。echartr()函數(shù)的基本表達(dá)形式為:
echartr(data,x=NULL,y=NULL,series=NULL,weight=NULL,facet=NULL,t=NULL,lat=NULL,lng=NULL,type="auto",subtype=NULL,elementId=NULL,...)主題名描述
data數(shù)據(jù)源,必須是數(shù)據(jù)框x自變量。data的一列或多列??梢允菚r(shí)間、數(shù)值或文本型y因變量,data的一列或多列。始終為數(shù)值型series分組變量,data的某一列。進(jìn)行運(yùn)算被視為因子。作為數(shù)據(jù)系列映射到圖例weight權(quán)重變量,在氣泡圖、線圖、柱圖中與圖形大小關(guān)聯(lián)facet分面變量,data的某一列。facet的每個(gè)水平會(huì)生成一個(gè)獨(dú)立的分面type圖表類(lèi)型,默認(rèn)為auto>library(recharts)>echartr(iris,Sepal.Length,Sepal.Width)PAGE17recharts包-條形圖17recharts擴(kuò)展包繪制條形圖包含三種類(lèi)型:條圖:bar|hbar、柱圖:column|vbar、直方圖:histogram|hist。>revenue<-read.csv("../data/revenue.csv")>library(reshape2)>revenue<-melt(revenue,id="游戲名稱(chēng)")>colnames(revenue)<-c("游戲名稱(chēng)","時(shí)間段","收入")>#繪制條形圖,默認(rèn)hbar類(lèi)型>b<-echartr(revenue,"游戲名稱(chēng)","收入","時(shí)間段")%>%+setTitle("游戲收入",pos=12)%>%+setLegend(pos=6)>bPAGE18rbokeh包18Bokeh是一個(gè)創(chuàng)建交互式圖表和地圖的python庫(kù),現(xiàn)在有了對(duì)應(yīng)的R包,作者是RyanHafen。它可以很容易地創(chuàng)建漂亮的網(wǎng)頁(yè)圖表,并且跟Shiny完全兼容。通常,利用bokeh來(lái)繪圖需要給圖形添加圖層,類(lèi)似于ggplot2。對(duì)于創(chuàng)建一個(gè)簡(jiǎn)單的圖表,主要包含以下兩個(gè)步驟:(1)figure()——初始化圖形。它有很多參數(shù),用來(lái)設(shè)置寬度、高度、標(biāo)題和坐標(biāo)軸參數(shù)。(2)ly_geom()——指定你要用到的幾何類(lèi)型。這里有多種選擇:ly_points
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年海洋服務(wù)合作協(xié)議書(shū)
- 新型保安服務(wù)模式的探索與創(chuàng)新計(jì)劃
- 班級(jí)經(jīng)驗(yàn)分享會(huì)的開(kāi)展計(jì)劃
- 培養(yǎng)學(xué)生判斷力與批判性思維計(jì)劃
- 增強(qiáng)圖書(shū)館開(kāi)放日活動(dòng)效果計(jì)劃
- 如何應(yīng)對(duì)財(cái)務(wù)恐懼癥計(jì)劃
- 經(jīng)理績(jī)效目標(biāo)規(guī)劃計(jì)劃
- 美術(shù)欣賞與文化傳播課程大綱計(jì)劃
- 幼兒心理健康關(guān)懷計(jì)劃
- 2025年藝術(shù)表演場(chǎng)館服務(wù)項(xiàng)目建議書(shū)
- 《民用無(wú)人駕駛航空器系統(tǒng)分類(lèi)及分級(jí)》考試題庫(kù)(含答案)
- Y -S-T 1700-2024 銀礦采選業(yè)綠色工廠評(píng)價(jià)要求(正式版)
- 中職語(yǔ)文高教版(2023-2024)基礎(chǔ)模塊上冊(cè)二《風(fēng)景談》公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- (高清版)JTGT 5440-2018 公路隧道加固技術(shù)規(guī)范
- 簡(jiǎn)單的痛(復(fù)雜的評(píng)估)-醫(yī)學(xué)評(píng)估
- 第59講-熱重曲線分析(課件)
- 陪診服務(wù)項(xiàng)目計(jì)劃書(shū)
- 心內(nèi)科康復(fù)護(hù)理個(gè)案
- 招聘會(huì)會(huì)展服務(wù)投標(biāo)方案(技術(shù)方案)
- 補(bǔ)鈣科學(xué)知識(shí)講座
- 物業(yè)園區(qū)污漬清潔工作規(guī)程培訓(xùn)
評(píng)論
0/150
提交評(píng)論