版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)可視化的重要性目錄01.數(shù)據(jù)可視化的目的02.探索數(shù)據(jù)可視化03.選擇有效的圖表數(shù)據(jù)可視化的目的PARTONE數(shù)據(jù)可視化定義數(shù)據(jù)可視化是將數(shù)據(jù)轉(zhuǎn)換為圖形或圖像的一種方法,通過(guò)視覺(jué)化手段使復(fù)雜數(shù)據(jù)變得更易于理解。這不僅包括圖表和圖形,還包括信息圖和其他視覺(jué)表示形式,幫助用戶識(shí)別數(shù)據(jù)模式和趨勢(shì)。01數(shù)據(jù)可視化的目的數(shù)據(jù)可視化的主要目的是通過(guò)視覺(jué)展示促使人們更快地獲得洞察,簡(jiǎn)化數(shù)據(jù)分析,提升決策的有效性。它旨在使龐大而復(fù)雜的信息變得更為直觀,便于抓住關(guān)鍵點(diǎn)和信息的本質(zhì)。02數(shù)據(jù)可視化的應(yīng)用領(lǐng)域數(shù)據(jù)可視化廣泛應(yīng)用于各個(gè)行業(yè),包括商業(yè)分析、金融、醫(yī)療、教育和社會(huì)研究等。通過(guò)數(shù)據(jù)可視化,各行業(yè)能夠更好地呈現(xiàn)研究成果、監(jiān)控業(yè)務(wù)運(yùn)營(yíng)及支持戰(zhàn)略制定。03數(shù)據(jù)可視化的基本概念促進(jìn)決策制定數(shù)據(jù)可視化為管理層提供了直觀、可操作的信息,使他們能夠快速識(shí)別問(wèn)題和機(jī)會(huì),從而更高效地制定明智的決策。清晰的視覺(jué)表現(xiàn)能夠突出關(guān)鍵數(shù)據(jù),降低理解復(fù)雜數(shù)據(jù)帶來(lái)的障礙。01提升信息傳播效率通過(guò)可視化,數(shù)據(jù)分析結(jié)果能夠以更簡(jiǎn)潔和吸引人的方式進(jìn)行傳播,幫助受眾在更短的時(shí)間內(nèi)grasp重要信息。這種方式有助于提高觀眾的興趣和參與度,加深記憶印象。02促進(jìn)數(shù)據(jù)分析理解數(shù)據(jù)可視化能夠加深分析人員對(duì)數(shù)據(jù)的理解,發(fā)現(xiàn)隱藏在數(shù)據(jù)背后的模式或關(guān)聯(lián)。通過(guò)圖形化展示,分析過(guò)程更具情境性,促進(jìn)了團(tuán)隊(duì)協(xié)作和知識(shí)分享。03數(shù)據(jù)可視化的重要性探索數(shù)據(jù)可視化PARTTWO探索數(shù)據(jù)可視化探索型數(shù)據(jù)可視化分為兩類:一是假設(shè)檢驗(yàn),一是從數(shù)據(jù)中尋找規(guī)律、趨勢(shì)和異常。前者的目標(biāo)很明確,后者則相對(duì)發(fā)散。數(shù)據(jù)體量越大、復(fù)雜度越高、未知因素越多,探索工作的開(kāi)放性就越高。探索數(shù)據(jù)可視化假設(shè)檢驗(yàn)
在這類數(shù)據(jù)可視化探索中,你要回答下面兩個(gè)問(wèn)題中的一個(gè):我設(shè)想的情況是否屬實(shí)?如何用不同方式傳達(dá)這一信息?在進(jìn)行求證時(shí),數(shù)據(jù)范圍相對(duì)可控,所使用圖表類型較為常規(guī);當(dāng)然,若想以新穎方式呈現(xiàn)信息,也可嘗試較少見(jiàn)的圖表。01探索數(shù)據(jù)可視化開(kāi)放性探索由于缺少明確目標(biāo),開(kāi)放探索型圖表包含的數(shù)據(jù)范圍較廣,個(gè)別情況下可能會(huì)容納多組數(shù)據(jù),或建立自動(dòng)更新數(shù)據(jù)的動(dòng)態(tài)系統(tǒng),也可用于統(tǒng)計(jì)建模。開(kāi)放性探索很值得嘗試,因?yàn)樗?jīng)常帶來(lái)獨(dú)一無(wú)二的洞察力。02選擇有效的圖表PARTTHREE選擇有效的圖表首先獲取數(shù)據(jù),確定數(shù)據(jù)展現(xiàn)的主題,也就是你想利用圖表從數(shù)據(jù)中獲得哪些信息,然后根據(jù)數(shù)據(jù)之間的對(duì)比關(guān)系選擇圖表類型。這個(gè)過(guò)程你還可能通過(guò)圖表分析出新的問(wèn)題,或者嘗試從多個(gè)維度分析數(shù)據(jù)。1確定表達(dá)主題同一組數(shù)據(jù)用不同的角度看,有不同的主題,比如下面這組數(shù)據(jù):1確定表達(dá)主題
如果你的注意力放在1月-5月的銷售發(fā)展趨勢(shì)以及售價(jià)是怎么樣隨時(shí)間而變化的。那你的圖表主題應(yīng)該是“銷售額自1月份開(kāi)始穩(wěn)步上升”?;蛘吣憧赡芟氚阎攸c(diǎn)集中在某一點(diǎn)上,比如說(shuō)集中在5月份的數(shù)據(jù)上,你可能會(huì)記錄產(chǎn)品A,B和C的銷售量排列名次。那樣的話,圖表主題應(yīng)該是“5月份,產(chǎn)品A的銷售額大幅超過(guò)B和C”。從另一個(gè)角度看同樣是5月份的數(shù)據(jù),你還可能會(huì)將側(cè)重點(diǎn)放在每個(gè)產(chǎn)品占銷售額的百分比上。那你的圖表主題應(yīng)該是“5月份,產(chǎn)品A占公司產(chǎn)品總銷售額的比例位居首位”。
選擇合適圖表的關(guān)鍵、也是最重要的就是確定想要表達(dá)的具體主題。而選擇正確的圖表形式,完全取決于主題是否清晰明確。圖表僅僅是表明數(shù)據(jù)的組織形式,它最終是要強(qiáng)調(diào)一個(gè)主題,這主題其實(shí)就可以作為圖表的標(biāo)題。2確定對(duì)比關(guān)系常用可視化圖表示例目錄01.描述變量分類的可視化圖形02.描述變量比例的可視化圖形03.描述變量相關(guān)的可視化圖形04.描述變量分布的可視化圖形05.描述時(shí)間序列數(shù)據(jù)的可視化圖形描述變量分類的可視化圖形PARTONE1描述變量分類的可視化圖形1.1條形圖/柱形圖示例數(shù)據(jù)來(lái)源于國(guó)家統(tǒng)計(jì)局發(fā)布的2021年國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展統(tǒng)計(jì)公報(bào)中全國(guó)居民人均消費(fèi)支出數(shù)據(jù)。#本例需加載的R軟件包library(ggplot2)library(dplyr)library(forcats)library(patchwork)library(hrbrthemes)#導(dǎo)入或輸入示例數(shù)據(jù)data<-read.csv("2021GDP.csv")#默認(rèn)柱形圖pp1=data%>%
mutate(index=fct_reorder(index,Value))%>%#設(shè)置順序
ggplot(aes(x=index,y=Value))+
geom_bar(stat="identity")+
theme_bw()pp1柱形圖#默認(rèn)條形圖pp2=data%>%mutate(index=fct_reorder(index,Value))%>%ggplot(aes(x=index,y=Value))+geom_bar(stat="identity")+theme_bw()+coord_flip()#水平條形圖pp2條形圖#數(shù)據(jù)輸入data<-data.frame(group=c("A","B","C","D"),value=c(33,62,56,67),number=c(100,500,459,342))#條形寬度設(shè)置data$right<-cumsum(data$number)+30*c(0:(nrow(data)-1))data$left<-data$right-data$number#繪圖ggplot(data,aes(ymin=0))+geom_rect(aes(xmin=left,xmax=right,ymax=value,colour=group,fill=group))+xlab("number")+ylab("value")+theme_bw()+theme(legend.position="none")不同條形寬度的柱形圖gg1=data2%>%arrange(val)%>%#按val排序mutate(name=factor(name,levels=name))%>%ggplot(aes(x=name,y=val))+geom_segment(aes(xend=name,yend=0))+geom_point(size=4,color="orange")+coord_flip()+theme_bw()+xlab("")gg1水平棒棒糖圖1描述變量分類的可視化圖形1.2使用barplot()繪制條形圖barplot函數(shù)可實(shí)現(xiàn)在R中構(gòu)建條形圖及自定義圖表顏色、條形寬度、方向#輸入數(shù)據(jù)data1<-data.frame(name=letters[1:5],value=sample(seq(4,15),5))#同色條形圖barplot(height=data1$value,names=data1$name,col=rgb(0.2,0.4,0.6,0.6))
barplot默認(rèn)條形圖#條形顏色不同library(RColorBrewer)coul<-brewer.pal(5,"Set2")#Set2是函數(shù)自動(dòng)的顏色庫(kù)barplot(height=data1$value,names=data1$name,col=coul)
設(shè)置系統(tǒng)顏色的柱形圖#水平條形圖barplot(height=data1$value,names=data1$name,col="#69b3a2",horiz=T,las=1)水平條形圖#條紋填充的條形圖barplot(height=data1$value,names=data1$name,density=c(5,10,20,30,7),angle=c(0,45,90,11,36),col="brown")
條紋填充的柱形圖1描述變量分類的可視化圖形1.3
分組和堆疊條形圖/柱形圖
在單變量分組基礎(chǔ)上,學(xué)習(xí)多變量分組條形圖,能夠在不同維度上展示數(shù)據(jù),具體方法是在x軸的每個(gè)位置繪制一組條形,由一個(gè)分類變量確定,然后根據(jù)另一個(gè)分類變量在每個(gè)組內(nèi)繪制條形。以下示例主要展示了分組數(shù)據(jù)可視化方法。library(ggplot2)#輸入一個(gè)模擬數(shù)據(jù)specie<-c(rep("sorgho",3),rep("poacee",3),rep("banana",3),rep("triticum",3))condition<-rep(c("normal","stress","Nitrogen"),4)value<-abs(rnorm(12,0,15))data<-data.frame(specie,condition,value)模擬輸入的數(shù)據(jù)集必須有3個(gè)列,包括:數(shù)值(value),組(spec)和子組(condition)2個(gè)分類變量。#繪圖ggplot(data,aes(fill=condition,y=value,x=specie))+geom_bar(position="dodge",stat="identity")+theme_bw()分組柱形圖/條形圖#position中參數(shù)"dodge"切換為“stack”ggplot(data,aes(fill=condition,y=value,x=specie))+geom_bar(position="stack",stat="identity")+theme_bw()堆疊柱形圖/條形圖#繪圖ggplot(data,aes(fill=condition,y=value,x=condition))+geom_bar(position="dodge",stat="identity")+scale_fill_viridis(discrete=T,option="E")+ggtitle("Studying4species..")+facet_wrap(~specie)+theme_ipsum(base_family="")+theme(legend.position="none")+xlab("")組顯示的條形圖/柱形圖描述變量比例的可視化圖形PARTTWO2描述變量比例的可視化圖形2.1餅圖繪制餅圖,是將總體看作一個(gè)圓,按照各分類的占比情況將圓劃分大小不同的扇形,以弧度的大小來(lái)表示某一分類的占比??梢钥焖俚牧私飧鞣诸惖那闆r,但一般分類的數(shù)量不能太多,太多會(huì)導(dǎo)致圓被切割為很多塊,不利于展示在餅圖中,通常會(huì)將占比最大的分類放置在最顯眼的地方,即12點(diǎn)鐘方向的右邊,而第二大占比放置在12點(diǎn)鐘方向的左邊。其余的分類依據(jù)逆時(shí)針?lè)较蚍胖谩?描述變量比例的可視化圖形2.1餅圖繪制參數(shù)設(shè)置說(shuō)明:x:數(shù)值向量,表示每個(gè)扇形的面積。labels:字符型向量,表示各扇形面積標(biāo)簽。radius:餅圖的半徑。main:餅圖的標(biāo)題。clockwise:是一個(gè)邏輯值,用來(lái)指示餅圖各個(gè)切片是否按順時(shí)針做出分割。angle:設(shè)置底紋的斜率。density:底紋的密度。默認(rèn)值為NULL。col:是表示每個(gè)扇形的顏色,相當(dāng)于調(diào)色板2描述變量比例的可視化圖形2.1餅圖繪制#librarylibrary(ggplot2)library(dplyr)library(forcats)library(patchwork)library(hrbrthemes)library(echarts4r)library(ggforce)#建立扇形面積大小向量,數(shù)據(jù)來(lái)源:國(guó)家統(tǒng)計(jì)局2021年居民消費(fèi)支出數(shù)據(jù)a<-c(2115,2599,3156,1423,5641,1419,7178,569)#建立扇形標(biāo)簽名稱向量yb<-c("醫(yī)療保健","教育文化娛樂(lè)","交通通信","生活用品服務(wù)","居住","衣著","食品煙酒","其他")#扇形顏色設(shè)置c<-c('#E5D2DD','#53A85F','#F1BB72','#D6E7A3','#57C3F3','#476D87','#E59CC4','#BD956A')#將扇形面積四舍五入保存為一位小數(shù)d<-paste(round(100*a/sum(a),1),"%")pie(a,labels=d,#扇形標(biāo)簽,labels=b,或者main="2021年居民消費(fèi)支出結(jié)構(gòu)",#圖片標(biāo)題radius=0.8,#餅圖大小設(shè)置clockwise=T,border="white",#餅圖外沿顏色設(shè)置col=c)legend("topright",b,cex=0.6,fill=c)2描述變量比例的可視化圖形2.1餅圖繪制2021年居民消費(fèi)支出結(jié)構(gòu)餅圖2描述變量比例的可視化圖形2.2環(huán)形圖ggplot2包允許構(gòu)建甜甜圈圖表。步驟如下:?輸入數(shù)據(jù)為一個(gè)數(shù)值變量的組?絕對(duì)數(shù)值必須轉(zhuǎn)換成比例?圓環(huán)上的分組是堆疊的一個(gè)接一個(gè)地顯示環(huán)?geom_rect()將每一組繪制為一個(gè)矩形?coord_polar()用于從堆的矩形切換到環(huán)?xlim()在中間添加了一個(gè)空?qǐng)A圈2描述變量比例的可視化圖形2.2環(huán)形圖#創(chuàng)建測(cè)試數(shù)據(jù)data<-data.frame(category=c("A","B","C"),count=c(10,60,30))#計(jì)算百分比data$fraction=data$count/sum(data$count)#計(jì)算累計(jì)百分比data$ymax=cumsum(data$fraction)#計(jì)算環(huán)形data$ymin=c(0,head(data$ymax,n=-1))#繪圖ggplot(data,aes(ymax=ymax,ymin=ymin,xmax=4,xmin=3,fill=category))+geom_rect()+coord_polar(theta="y")+#堆積條形圖xlim(c(2,4))+#中心添加一個(gè)空?qǐng)Atheme_bw()描述變量相關(guān)的可視化圖形PARTTHREE2描述變量比例的可視化圖形2.2環(huán)形圖環(huán)形圖繪制3描述變量相關(guān)的可視化圖形為表現(xiàn)兩個(gè)變量之間的關(guān)系,最常用的是散點(diǎn)圖。如果我們想同時(shí)顯示兩個(gè)以上的變量,我們可以選擇氣泡圖、散點(diǎn)圖矩陣或相關(guān)圖,可以在散點(diǎn)圖中用符號(hào)大小、符號(hào)顏色、符號(hào)形狀表示更多維數(shù)。最后,對(duì)于高維的數(shù)據(jù)集,對(duì)于高維數(shù)據(jù),經(jīng)常需要利用降維方法,如主成分分析(PCA)對(duì)數(shù)據(jù)降維,對(duì)降維數(shù)據(jù)作圖。3描述變量相關(guān)的可視化圖形3.1散點(diǎn)圖R軟件自帶的iris數(shù)據(jù)集中包含了三種鳶尾花的150個(gè)樣品的測(cè)量數(shù)據(jù),每種各50個(gè)樣本,每個(gè)樣本測(cè)量了花瓣、花萼的長(zhǎng)、寬。下面畫(huà)50個(gè)花卉樣本的花瓣長(zhǎng)、寬的散點(diǎn)圖,可以看出,兩種有明顯的線性相關(guān)關(guān)系。使用ggplot2繪制散點(diǎn)圖的步驟:提供樣本數(shù)據(jù)框確定在x和y軸上顯示哪個(gè)變量添加一個(gè)geom_point()函數(shù)顯示點(diǎn)。3描述變量相關(guān)的可視化圖形3.1散點(diǎn)圖#本節(jié)使用的繪圖庫(kù)library(ggplot2)library(hrbrthemes)library(patchwork)library(tidyverse)library(cowplot)library(dplyr)#本節(jié)使用的演示數(shù)據(jù)是軟件自帶的數(shù)據(jù)集iris#葉片大小與生長(zhǎng)之間的關(guān)系描述#ggplot2默認(rèn)散點(diǎn)圖ggplot(iris,aes(Sepal.Length,Sepal.Width,color=Species))+geom_point()+theme_bw()3描述變量相關(guān)的可視化圖形3.1散點(diǎn)圖#本節(jié)使用的繪圖庫(kù)library(ggplot2)library(hrbrthemes)library(patchwork)library(tidyverse)library(cowplot)library(dplyr)#本節(jié)使用的演示數(shù)據(jù)是軟件自帶的數(shù)據(jù)集iris#葉片大小與生長(zhǎng)之間的關(guān)系描述#ggplot2默認(rèn)散點(diǎn)圖ggplot(iris,aes(Sepal.Length,Sepal.Width,color=Species))+geom_point()+theme_bw()3描述變量相關(guān)的可視化圖形3.1散點(diǎn)圖默認(rèn)散點(diǎn)圖#使用顏色區(qū)分不同物種與生長(zhǎng)之間的關(guān)系ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width,color=Species))+geom_point(size=6)+theme_ipsum(base_family="")不同顏色設(shè)置類別的散點(diǎn)圖#設(shè)置形狀或大小ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width,shape=Species))+geom_point(size=4,color="#008B8B")+theme_ipsum(base_family="")不同形狀散點(diǎn)圖3描述變量相關(guān)的可視化圖形3.2
散點(diǎn)圖矩陣
多個(gè)變量之間的關(guān)系經(jīng)常用散點(diǎn)圖矩陣表示。ggplot2包沒(méi)有提供專門的散點(diǎn)圖矩陣,基礎(chǔ)R圖形中提供了pairs函數(shù)作散點(diǎn)圖矩陣,GGally包提供了一個(gè)ggscatmat()函數(shù)作散點(diǎn)圖矩陣。例如,對(duì)iris數(shù)據(jù)的四個(gè)測(cè)量值變量作散點(diǎn)圖矩陣:#多變量散點(diǎn)矩陣圖ggscatmat(data=iris,columns=1:4,color="Species")+theme_bw()多變量散點(diǎn)矩陣圖排列成矩陣的各個(gè)切片的下三角位置是兩個(gè)變量的散點(diǎn)圖,對(duì)角線位置是單個(gè)變量的核密度估計(jì),上三角位置是兩個(gè)變量的相關(guān)系數(shù)。ggpairs(data=iris,color="Species",columns=c("Petal.Length","Sepal.Length","Species"))+theme_bw()變量?jī)蓛上嚓P(guān)的散點(diǎn)矩陣圖3描述變量相關(guān)的可視化圖形3.3數(shù)據(jù)降維當(dāng)數(shù)據(jù)中有過(guò)多的變量時(shí),既是散點(diǎn)圖矩陣也會(huì)因信息量過(guò)大難以認(rèn)讀。因此,要將數(shù)據(jù)降低維度,通常將數(shù)據(jù)降維到若干個(gè)新變量,最常用的方法是主成分分析(PCA)。PCA通過(guò)數(shù)據(jù)中原始變量的線性組合引入了一組新變量(稱為主成分,PC),且使方差和均標(biāo)準(zhǔn)化值為零。3描述變量相關(guān)的可視化圖形3.3數(shù)據(jù)降維可以將降維的散點(diǎn)圖與變量的載荷圖畫(huà)在同一坐標(biāo)系內(nèi):d<-as.data.frame(load1[,1:2])d$vlabel<-rownames(d)ggplot()+geom_point(data=ps1,mapping=aes(x=Comp.1,y=Comp.2,color=Species),size=6.0,alpha=0.6)+geom_segment(data=d,mapping=aes(xend=Comp.1,yend=Comp.2),x=0,y=0,arrow=arrow(angle=20))+geom_text_repel(data=d,mapping=aes(x=Comp.1,y=Comp.2,label=vlabel),alpha=0.6)+theme_bw()3描述變量相關(guān)的可視化圖形3.3數(shù)據(jù)降維降維后的矢量散點(diǎn)圖描述變量分布的可視化圖形PARTFOUR4描述變量分布的可視化圖形對(duì)于離散變量,可以用頻數(shù)、比例、百分?jǐn)?shù)的條形圖表現(xiàn)單個(gè)離散變量分布,可以用熱力圖表現(xiàn)兩個(gè)離散變量的分布。對(duì)于連續(xù)型變量,可以用直方圖、密度估計(jì)圖表現(xiàn)單個(gè)變量分布,可以對(duì)多個(gè)變量同時(shí)做密度估計(jì)圖??梢杂谜龖B(tài)QQ圖、盒形圖、經(jīng)驗(yàn)分布函數(shù)圖等。4描述變量分布的可視化圖形4.1單變量可視化分布案例數(shù)據(jù)集是來(lái)自泰坦尼克號(hào)乘客的數(shù)據(jù)集。泰坦尼克號(hào)上大約有1300名乘客(不包括船員),數(shù)據(jù)集提供了其中756人的年齡。我們想知道泰坦尼克號(hào)上有多少不同年齡的乘客,即有多少兒童、年輕人、中年人、老年人等。我們把乘客不同年齡分組的相對(duì)比例稱為乘客的年齡分布。4描述變量分布的可視化圖形4.1單變量可視化分布
為了繪制的直方圖能準(zhǔn)確地反映數(shù)據(jù)基本特征,就要考慮分組大小。一般來(lái)說(shuō),較小的分組條形寬度過(guò)小,直方圖就會(huì)變得過(guò)于尖峰和擁擠,數(shù)據(jù)分布趨勢(shì)和特征可能會(huì)被掩蓋。另一方面,過(guò)大的分組會(huì)導(dǎo)致條形寬度過(guò)大,導(dǎo)致數(shù)據(jù)分布的差異特征被平滑,數(shù)據(jù)中較小的特征值可能會(huì)消失。
對(duì)于泰坦尼克號(hào)乘客的年齡分布,如下圖,可以看到,1年的組距使條形寬太小,15年的條形寬太大,而3-5年的組寬就較為可行。age_hist_1<-
data.frame(age=
(1:75)-
0.5,count=
hist(titanic$age,breaks=
(0:75)+
.01,plot=
FALSE)$counts)age_hist_3<-
data.frame(age=
(1:25)*
3
-
1.5,count=
hist(titanic$age,breaks=
(0:25)*
3
+
.01,plot=
FALSE)$counts)age_hist_15<-
data.frame(age=
(1:5)*
15
-
7.5,count=
hist(titanic$age,breaks=
(0:5)*
15
+
.01,plot=
FALSE)$counts)h2<-
ggplot(age_hist_1,aes(x=
age,y=
count))+
geom_col(width=
.85,fill=
"#56B4E9")
+
scale_y_continuous(expand=
c(0,0),breaks=
10
*
(0:5))+scale_x_continuous(name=
"age(years)",limits=
c(0,75),expand=
c(0,0))+coord_cartesian(clip=
"off")+theme_dviz_hgrid(12)+theme(axis.line.x=
element_blank(),plot.margin=
margin(3,1.5,3,1.5))h3<-
ggplot(age_hist_3,aes(x=
age,y=
count))+
geom_col(width=
2.75,fill=
"#56B4E9")
+
scale_y_continuous(expand=
c(0,0),breaks=
25
*
(0:5))+scale_x_continuous(name=
"age(years)",limits=
c(0,75),expand=
c(0,0))+coord_cartesian(clip=
"off")+theme_dviz_hgrid(12)+theme(axis.line.x=
element_blank(),plot.margin=
margin(3,1.5,3,1.5)
)h4<-
ggplot(age_hist_15,aes(x=
age,y=
count))+
geom_col(width=
14.5,fill=
"#56B4E9")
+
scale_y_continuous(expand=
c(0,0),breaks=
100
*
(0:4))+scale_x_continuous(name=
"age(years)",limits=
c(0,75),
expand=
c(0,0))+coord_cartesian(clip="off")+theme_dviz_hgrid(12)+theme(axis.line.x=element_blank(),plot.margin=margin(3,1.5,3,1.5))plot_grid(h2,NULL,h3,NULL,NULL,NULL,h1+theme_dviz_hgrid(12)+theme(axis.line.x=element_blank(),plot.margin=margin(3,1.5,3,1.5)),NULL,h4,align='hv',labels=c("a","","b","","","","c","","d"),rel_widths=c(1,.04,1),rel_heights=c(1,.04,1))年齡分組大小不同的直方圖4描述變量分布的可視化圖形4.2多變量可視化分布
男女乘客之間存年齡的差異有多大等等,通常情況下,可視化策略是使用一個(gè)堆疊的直方圖來(lái)展示,如下圖,使用不同的顏色將女乘客的直方圖置于男乘客的直方圖之上,我們把這類圖形稱之為堆積或堆疊直方圖。data.frame(
age=
(1:25)*3
-
1.5,
male=
hist(filter(titanic,sex==
"male")$age,
breaks=
(0:25)*3
+
.01,plot=
FALSE)$counts,
female=
hist(filter(titanic,sex==
"female")$age,
breaks=
(0:25)*3
+
.01,plot=
FALSE)$counts)%>%
gather(gender,count,-age)->
gender_countsgender_counts$gender<-
factor(gender_counts$gender,
levels=
c("female","male"))p_hist_stacked<-
ggplot(gender_counts,
aes(x=
age,y=
count,
fill=gender))+
geom_col(position=
"stack")+
scale_x_continuous(name=
"age(years)",
limits=
c(0,75),expand=
c(0,0))+
scale_y_continuous(limits=
c(0,89),expand=
c(0,0),
name=
"count")+
scale_fill_manual(values=
c("#D55E00","#0072B2"))+
coord_cartesian(clip=
"off")+
theme_dviz_hgrid()+
theme(
axis.line.x=
element_blank(),
legend.position=
c(.9,.87),
legend.justification=
c("right","top"),
legend.box.background=
element_rect(fill=
"white",
color=
"white"),
plot.margin=
margin(3,7,3,1.5)
)同年齡和性別乘客的堆疊直方圖ggplot(titanic2,aes(x=
age,y=
..count..))+
geom_density_line(
data=
select(titanic,-sex),aes(fill=
"allpassengers"),
color=
"transparent"
)+
geom_density_line(aes(fill=
sex),
bw=
2,
color=
"transparent")+
scale_x_continuous(limits=
c(0,75),
name=
"passengerage(years)",
expand=
c(0,0))+
scale_y_continuous(limits=
c(0,26),
name=
"scaleddensity",
expand=
c(0,0))+
scale_fill_manual(
values=
c("#b3b3b3a0","#D55E00","#0072B2"),
breaks=
c("allpassengers","male","female"),
labels=
c("allpassengers
","males
","females"),
name=
NULL,
guide=
guide_legend(direction=
"horizontal")
)+
coord_cartesian(clip=
"off")+
facet_wrap(~sex,labeller=
labeller(sex=
function(sex)paste(sex,"passengers")))+
theme_dviz_hgrid()+
theme(
axis.line.x=
element_blank(),
strip.text=
element_text(size=
14,margin=
margin(0,0,0.2,0,"cm")),
legend.position=
"bottom",
legend.justification=
"right",
legend.margin=
margin(4.5,0,1.5,0,"pt"),
legend.spacing.x=
grid::unit(4.5,"pt"),
legend.spacing.y=
grid::unit(0,"pt"),
legend.box.spacing=
grid::unit(0,"cm")
)按乘客性別展示的堆積密度圖描述時(shí)間序列數(shù)據(jù)的可視化圖形PARTFIVE5描述時(shí)間序列數(shù)據(jù)的可視化圖形#本節(jié)演示需要載入的軟件包library(ggridges)library(lubridate)library(ggrepel)library(ggplot2)library(dplyr)library(plotly)library(hrbrthemes)library(readxl)library(dygraphs)cpi<-read_xls("../cpi.xls")cpi$date<-ymd(cpi$date)#定義列表日期格式str(cpi)#顯示數(shù)據(jù)集字段類型##tibble[72×4](S3:tbl_df/tbl/data.frame)##$date:Date[1:72],format:"2016-01-01""2016-02-01"...##$cpi.val:num[1:72]1.82.32.32.321.91.81.31.92.1...##$cpi.city:num[1:72]1.82.32.32.321.91.81.422.2...##$cpi.countryside:num[1:72]1.52.22.22.42.11.91.511.61.8...5描述時(shí)間序列數(shù)據(jù)的可視化圖形5.1單變量時(shí)間序列數(shù)據(jù)可視化CPI是居民消費(fèi)價(jià)格指數(shù)(consumerpriceindex)的簡(jiǎn)稱。居民消費(fèi)價(jià)格指數(shù),是一個(gè)反映居民家庭一般所購(gòu)買的消費(fèi)商品和服務(wù)價(jià)格水平變動(dòng)情況的宏觀經(jīng)濟(jì)指標(biāo)。它是度量一組代表性消費(fèi)商品及服務(wù)項(xiàng)目的價(jià)格水平隨時(shí)間而變動(dòng)的相對(duì)數(shù),是用來(lái)反映居民家庭購(gòu)買消費(fèi)商品及服務(wù)的價(jià)格水平的變動(dòng)情況。ggplot(cpi,aes(date,cpi.val))+
geom_point(color=
"#0072B2")+
geom_point(color=
"white",fill=
"#0072B2",shape=
21,size=
2)+
scale_y_continuous(limits=
c(-1,6),expand=
c(0,0),name=
"CPI%")+
scale_x_date(name=
"year")+
theme_bw()+
theme(plot.margin=
margin(5,3,3,3))時(shí)間序列的散點(diǎn)圖ggplot(cpi,aes(date,height=
cpi.val,y=0))+
geom_ridgeline(color=
"#0072B2",alpha=0.6,fill=
"#0072B240",size=
0.40)+
scale_y_continuous(limits=
c(-1,6),expand=
c(0,0),
name=
"CPI%")+
scale_x_date(name=
"year")+
theme(plot.margin=
margin(4,4,3,3))+
theme_bw()時(shí)間序列的面積圖5描述時(shí)間序列數(shù)據(jù)的可視化圖形5.2多變量時(shí)間序列可視化如果同時(shí)展示相同時(shí)間維度上多個(gè)變量,必須更加慎重的選擇繪制的圖形,因?yàn)樵搱D可能會(huì)變得混亂或難以閱讀。例如,如果想要顯示每月CPI外,還要同時(shí)展示城市和鄉(xiāng)村的CPI,這是散點(diǎn)圖就不是一個(gè)好策略,因?yàn)楦鱾€(gè)時(shí)間點(diǎn)的變量會(huì)相互影響和重疊,視覺(jué)效果不佳。p<-ggplot(cpi)p+geom_point(mapping=aes(x=date,y=cpi.val,color="CPI"),size=2)+geom_point(mapping=aes(x=da
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《計(jì)算機(jī)文化基礎(chǔ) 》課件-第7章
- 保潔保綠員例行培訓(xùn)課件
- 《軟體工程課程聯(lián)盟》課件
- 養(yǎng)老院老人入住體檢制度
- 養(yǎng)老院老人安全出行制度
- 救助管理站與醫(yī)療機(jī)構(gòu)服務(wù)協(xié)議書(shū)(2篇)
- 2024年生豬養(yǎng)殖場(chǎng)租賃合同下載
- 《團(tuán)隊(duì)溝通的重要性》課件
- 《疫苗的作用》課件
- 2024年度停薪留職人員福利待遇協(xié)議書(shū)3篇
- GB/T 29309-2012電工電子產(chǎn)品加速應(yīng)力試驗(yàn)規(guī)程高加速壽命試驗(yàn)導(dǎo)則
- GB 29216-2012食品安全國(guó)家標(biāo)準(zhǔn)食品添加劑丙二醇
- 齊魯工業(yè)大學(xué)信息管理學(xué)成考復(fù)習(xí)資料
- 公務(wù)員面試-自我認(rèn)知與職位匹配課件
- 中頻電治療儀操作培訓(xùn)課件
- 柔弱的人課文課件
- 動(dòng)物寄生蟲(chóng)病學(xué)課件
- 電梯曳引系統(tǒng)設(shè)計(jì)-畢業(yè)設(shè)計(jì)
- 三度房室傳導(dǎo)阻滯護(hù)理查房課件
- 講課比賽精品PPT-全概率公式貝葉斯公式-概率論與數(shù)理統(tǒng)計(jì)
- 藥理學(xué)39人工合成抗菌藥課件
評(píng)論
0/150
提交評(píng)論