商業(yè)分析第9章 商業(yè)信息可視化_第1頁
商業(yè)分析第9章 商業(yè)信息可視化_第2頁
商業(yè)分析第9章 商業(yè)信息可視化_第3頁
商業(yè)分析第9章 商業(yè)信息可視化_第4頁
商業(yè)分析第9章 商業(yè)信息可視化_第5頁
已閱讀5頁,還剩119頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

商業(yè)分析--商業(yè)數(shù)據(jù)的分析、挖掘和應(yīng)用華東師范大學(xué)出版社第9章商業(yè)信息可視化本章主要內(nèi)容數(shù)據(jù)可視化的定義,分類及工具。根據(jù)類別分別闡述了數(shù)據(jù)可視化的方法和具體實(shí)現(xiàn)過程。多維信息可視化的定義,分類及實(shí)現(xiàn)。9.1概述9.2根本信息可視化與應(yīng)用基于比較的繪圖基于分布的繪圖基于組合的繪圖基于關(guān)系的繪圖基于時間的繪圖9.2.1基于比較的繪圖用來比較的變量通常是條目相關(guān)或者是事件相關(guān)的變量。對于條目相關(guān)變量,較適合使用柱形圖或條形圖;對于時間相關(guān)變量,較適合使用柱形圖或折線圖。柱形圖根底柱形圖用來顯示不同時間內(nèi)數(shù)據(jù)的變化情況,或用于對各項(xiàng)數(shù)據(jù)進(jìn)行比較,是最普通的商用圖表種類。主要由圖表標(biāo)題、坐標(biāo)軸標(biāo)題、圖例、主體等構(gòu)成。按形狀分,可以分為二維柱形圖、三維柱形圖、圓柱圖、圓錐圖以及棱錐圖等;按功能分,柱形圖包括簇狀柱形圖、堆積柱形圖、百分比堆積柱形圖等。下面分別介紹這幾種圖形及其例如。簇狀柱形圖簇狀柱形圖主要用于比較各個時間、各個類別的數(shù)值,它以二維垂直矩形顯示數(shù)值。除二維簇狀柱形圖外,簇狀柱形圖還可以用三維格式顯示,三維簇狀柱形圖可以變形為三維簇狀圓柱圖、三維簇狀圓錐圖和三維簇狀棱錐圖幾種形式。簇狀柱形圖簇狀柱形圖三維簇狀柱形圖三維簇狀圓柱圖三維簇狀圓錐圖三維簇狀棱錐圖圖9-1.簇狀柱形圖堆積柱形圖和三維堆積柱形圖堆積柱形圖將每個類別的所有序列在單個柱形中堆積顯示。每個柱形的高度由相應(yīng)類別的所有序列值的總和確定。堆積柱形圖只要用于表征單個工程和整體之間的關(guān)系,能夠比較每個類別的每個數(shù)值所占總數(shù)值的大小,特別適合具有多個數(shù)據(jù)系列且希望強(qiáng)調(diào)總數(shù)值的場合。堆積柱形圖和三維堆積柱形圖堆積柱形圖三維堆積柱形圖三維堆積圓柱圖三維堆積圓錐圖三維堆積棱錐圖圖9-2.堆積柱形圖百分比堆積柱形圖和三維百分比堆積柱形圖百分比堆積柱形圖將每個類別的所有序列在單個柱形中堆積顯示,每個柱形始終與圖表等高,其序列值按每個柱形的百分比形式顯示。百分比堆積柱形圖是以百分比形式比較各類別的值在總和中的分布情況,這種圖表也可以以三維效果顯示,包括三維百分比堆積柱形圖、三維百分比堆積圓柱圖、三維百分比堆積圓錐圖、三維百分比堆積棱錐圖4種形式。百分比堆積柱形圖和三維百分比堆積柱形圖百分比堆積柱形圖三維百分比堆積柱形圖三維百分比堆積圓柱圖三維百分比堆積圓錐圖三維百分比堆積棱錐圖圖9-3.百分比堆積柱形圖三維柱形圖三維柱形圖使用可修改的三個軸〔水平軸、垂直軸、深度軸〕,來對沿水平軸和深度軸分布的數(shù)據(jù)點(diǎn)進(jìn)行比較。在需要對均勻分布在各類別和各系列的數(shù)據(jù)進(jìn)行比較時,可以使用三維柱形圖。三維柱形圖三維柱形圖三維圓柱圖三維圓錐圖三維棱錐圖圖9-4.三維柱形圖柱狀圖實(shí)驗(yàn)見word文檔條形圖根底條形圖可以對多個工程進(jìn)行比照,顯示各個工程之間的比較情況。這是唯一一種可以水平方式顯示的數(shù)據(jù)的圖表類型,主要由標(biāo)題、圖例、坐標(biāo)軸、主體等構(gòu)成。條形圖是用于比較多個值的最正確圖表類型。條形圖將序列顯示為假設(shè)干組水平圖條,其中的數(shù)據(jù)具有一定的可比性。三維簇狀條形圖簇狀條形圖主要用于比較各個類別的數(shù)值,它還可以用三維效果顯示〔即三維簇狀條形圖〕,這種圖表將每個序列分別顯示在三維圖表的單獨(dú)行中。三維簇狀條形圖也有多種變體,它們是用圓柱體表示圖條的簇狀水平圓柱圖、用圓錐體表示圖條的簇狀水平圓錐圖和用棱錐體表示圖條的簇狀水平棱錐圖。三維簇狀條形圖三維簇狀條形圖三維簇狀圓柱條形圖三維簇狀圓錐條形圖三維簇狀棱錐條形圖圖9-5.簇狀條形圖堆積條形圖堆積條形圖將每個類別的所有序列在單個條形中堆積顯示。每個條形的長度由相應(yīng)類別的所有序列值的總和確定。堆積條形圖只要用于表征單個工程和整體之間的關(guān)系,能夠比較每個類別的每個數(shù)值所占總數(shù)值的大小,特別適合具有多個數(shù)據(jù)系列且希望強(qiáng)調(diào)總數(shù)值的場合。堆積條形圖也可以用三維效果的形式顯示。〔即三維堆積條形圖〕堆積條形圖堆積條形圖三維堆積條形圖堆積水平圓柱圖堆積水平圓錐圖堆積水平棱錐圖圖9-6.堆積條形圖百分比堆積條形圖百分比堆積條形圖是一種包括多個序列垂直堆積并占滿圖表區(qū)的條形圖,它以百分比形式比較各類別的值在總和中的分布情況。百分比堆積條形圖也可以以三維效果顯示,即三維百分比堆積條形圖,如下圖。三維百分比堆積條形圖有3種變體,它們分別是百分比堆積水平柱形圖、百分比堆積水平圓錐圖、百分比堆積水平棱錐圖百分比堆積條形圖百分比堆積條形圖三維百分比堆積條形圖百分比堆積水平柱形圖百分比堆積水平圓錐圖百分比堆積水平棱錐圖圖9-7.百分比堆積條形圖條形圖的創(chuàng)立實(shí)驗(yàn)見word文檔折線圖根底折線圖是一種用直線段將各數(shù)據(jù)點(diǎn)連接起來而組成的圖形,它以折線方式顯示數(shù)據(jù)的變化趨勢。折線圖可以顯示隨時間〔根據(jù)常用比例設(shè)置〕而變化的連續(xù)數(shù)據(jù),因此非常適用于顯示在相等時間間隔下數(shù)據(jù)的趨勢。折線圖主要由標(biāo)題、坐標(biāo)軸、圖例和主題構(gòu)成。在折線圖中,類別數(shù)據(jù)沿水平軸均勻分布,所有值數(shù)據(jù)沿垂直軸均勻分布。折線圖的種類很多,有折線圖和帶數(shù)據(jù)標(biāo)記的折線圖、堆積折線圖和帶數(shù)據(jù)標(biāo)記的堆積折線圖、百分比堆積折線圖及帶數(shù)據(jù)標(biāo)記的百分比堆積折線圖以及三維折線圖等。折線圖和帶數(shù)據(jù)標(biāo)記的折線圖折線圖顯示了數(shù)值隨時間變化的趨勢,為了清晰地說明單個數(shù)據(jù)值的點(diǎn),可以使用帶數(shù)據(jù)標(biāo)記的直線圖。類別順序很重要或者存在許多數(shù)據(jù)點(diǎn)的情況適宜使用。折線圖帶數(shù)據(jù)標(biāo)記的折線圖圖9-7.折線圖堆積折線圖和帶數(shù)據(jù)標(biāo)記的堆積折線圖積折線圖用于顯示每一數(shù)值所占大小隨時間或有序類別變化的趨勢。因?yàn)槎逊e折線圖難于閱讀,所以可以考慮改用堆積面積圖。堆積折線圖帶數(shù)據(jù)標(biāo)記的堆積折線圖圖9-8.堆積折線圖百分比堆積折線圖和帶數(shù)據(jù)標(biāo)記的百分比堆積折線圖百分比堆積折線圖用于顯示每一數(shù)值所占百分比隨時間或有序類別而變化的趨勢百分比堆積折線圖帶數(shù)據(jù)標(biāo)記的百分比堆積折線圖圖9-9.百分比折線圖三維折線圖在三個坐標(biāo)軸上,以三維條帶的形式顯示每個數(shù)據(jù)行或數(shù)據(jù)列,包含可修改的水平軸、垂直軸和深度軸。圖9-10.

三維折線圖折線圖實(shí)驗(yàn)見word文檔9.2.2基于關(guān)系的繪圖——散點(diǎn)圖根底散點(diǎn)圖將系列顯示為一組點(diǎn),其值由點(diǎn)在圖表空間中的位置表示,類別由圖表中的不同點(diǎn)表示。散點(diǎn)圖一般用于比較跨類別的不同值。散點(diǎn)圖主要由標(biāo)題、坐標(biāo)軸和主體構(gòu)成。散點(diǎn)圖將工作表中的列/行數(shù)據(jù)以數(shù)據(jù)點(diǎn)的形式繪制到圖中,這種圖表表征了多個數(shù)據(jù)系列中各數(shù)值之間的關(guān)系,它包括帶數(shù)據(jù)標(biāo)記的散點(diǎn)圖、帶直線的散點(diǎn)圖、帶直線和數(shù)據(jù)標(biāo)記的散點(diǎn)圖、帶平滑線的散點(diǎn)圖、帶平滑線和數(shù)據(jù)標(biāo)記的散點(diǎn)圖。我們將以公司產(chǎn)量情況表〔數(shù)據(jù)自編〕為例來制作相關(guān)圖形,見下頁。表1:數(shù)據(jù)樣本(公司產(chǎn)量情況表)時間A公司產(chǎn)量(萬噸)B公司產(chǎn)量(萬噸)200523472006224320072540200825412009253920103536201126322012253820132538僅帶數(shù)據(jù)標(biāo)記的散點(diǎn)圖僅帶數(shù)據(jù)標(biāo)記的散點(diǎn)圖根據(jù)值系列的X值和Y值將每個值系列顯示為圖表空間中的不同數(shù)據(jù)點(diǎn)。典型的散點(diǎn)圖包含有值得非聚合表達(dá)式,值圖表區(qū)中X的表達(dá)式和類別組的表達(dá)式通常也是相同的。雖然類別組和系別組是可選的,但是必須至少選擇其中一個組,才能在圖表中顯示有意義的數(shù)據(jù)。圖9-11.散點(diǎn)圖例如帶折線的散點(diǎn)圖、帶折線和數(shù)據(jù)標(biāo)記的散點(diǎn)圖折線散點(diǎn)圖的數(shù)據(jù)點(diǎn)之間可以顯示也可以不顯示折線。顯示連接線時可以顯示標(biāo)記,也可以不顯示標(biāo)記。帶折線的散點(diǎn)圖帶折線和數(shù)據(jù)標(biāo)記的散點(diǎn)圖圖9-12.帶折線的散點(diǎn)圖例如帶平滑線的散點(diǎn)圖、帶平滑線和數(shù)據(jù)標(biāo)記的散點(diǎn)圖平滑線散點(diǎn)圖的數(shù)據(jù)點(diǎn)用曲線連接,顯示連接線時可以顯示標(biāo)記,也可以不顯示標(biāo)記。帶平滑線的散點(diǎn)圖帶平滑線和數(shù)據(jù)標(biāo)記的散點(diǎn)圖散點(diǎn)圖實(shí)驗(yàn)見word文檔氣泡圖根底氣泡圖可以將數(shù)據(jù)序列顯示為一組符號,其不同的值由相應(yīng)點(diǎn)在圖表空間中的位置以及符號的大小表示,類別在圖表中以不同的符號形式表示。構(gòu)成要素主要由標(biāo)題、圖例、坐標(biāo)軸和主體等構(gòu)成。氣泡圖分為普通氣泡圖和三維氣泡圖兩種類型。普通氣泡圖通氣泡圖在圖表空間中根據(jù)值序列的X值和Y值以數(shù)據(jù)點(diǎn)的形式顯示各個值序列。另一個值Z確定數(shù)據(jù)點(diǎn)的符號的大小。雖然類別組和序列組是可選的,但是必須選擇其中一種,才能在圖表中顯示有意義的數(shù)據(jù)。圖9-13.氣泡圖例如三維氣泡圖維氣泡圖以3個數(shù)值為一組對數(shù)據(jù)進(jìn)行比較,且可以三維效果顯示。氣泡的大小為數(shù)據(jù)標(biāo)記表示第3個變量的值。圖9-14.三維氣泡圖例如氣泡圖實(shí)驗(yàn)見word文檔9.2.3基于組合的繪圖對于組合型數(shù)據(jù),數(shù)據(jù)類型可分為靜態(tài)〔Static〕與時變〔ChangingOverTime〕兩種。當(dāng)數(shù)據(jù)處靜態(tài)時,假設(shè)強(qiáng)調(diào)局部在總量中的比例,可選擇餅圖;假設(shè)強(qiáng)調(diào)局部中的局部,可使用帶有子部件的完全堆砌柱形圖。當(dāng)數(shù)據(jù)處時變時,假設(shè)周期數(shù)較多,適合使用堆砌柱形圖或完全堆砌柱形圖;假設(shè)周期數(shù)較少,適合使用堆砌面積圖或完全堆砌面積圖。餅圖根底餅圖一般用于顯示組成數(shù)據(jù)系列的工程在工程總和中所占的比例。在餅圖中,一般只顯示出一個數(shù)據(jù)系列。餅圖非常適合需要強(qiáng)調(diào)數(shù)據(jù)中的某個重要元素的場合。餅圖一般由圖表標(biāo)題、圖例和主體構(gòu)成〔沒有坐標(biāo)軸〕。餅圖顯示了各個值在總和中的分布情況,即將數(shù)據(jù)顯示為整體的一定比例。餅圖上沒有軸,在其中放置上某個數(shù)值字段后,這種圖表會計算每個值相對總計的百分比。餅圖也有多種變體形式,常見的有別離型餅圖、復(fù)合餅圖、復(fù)合條餅圖、三維餅圖和別離型三維餅圖。別離型餅圖離型餅圖的所有切片均從餅圖中心向外發(fā)散。這種餅圖顯示了各個值在總和中的分布情況,同時強(qiáng)調(diào)了各個值的重要性。圖9-15.別離型餅圖復(fù)合餅圖復(fù)合餅圖將用戶定義的值提取出來,然后顯示在另一個餅圖中。圖9-16.復(fù)合餅圖復(fù)合條餅圖復(fù)合條餅圖可以將用戶定義的數(shù)據(jù)提取出來,然后顯示在另一個堆積條形圖中。圖9-17.復(fù)合條餅圖三維餅圖三維餅圖是普通的立體化表示形式,這種餅圖的特點(diǎn)是立體感較強(qiáng),能使數(shù)據(jù)更具有視覺沖擊力。圖9-18.三維餅圖別離型三維餅圖別離型三維餅圖是別離型餅圖的立體化表示形式圖9-19.別離型三維餅圖餅圖實(shí)驗(yàn)見word文檔面積圖根底面積圖可以強(qiáng)調(diào)值的大小隨時間的變化情況,可用于引起人們對總趨勢的注意。面積圖將數(shù)據(jù)序列表示為一組由一條線連接的點(diǎn),而且填充連接線下方的所有區(qū)域,從而直觀地顯示所有出有序的總計以及每個序列在總計中所占的比例。面積圖主要由標(biāo)題、坐標(biāo)軸、圖例和主體構(gòu)成。面積圖包括普通面積圖、堆積面積圖和百分比堆積面積圖,每種面積圖都有二維圖形和三維圖形之分。面積圖和三維面積圖面積圖能夠很好地顯示數(shù)值隨時間或類別的變化趨勢,它也可以采用三維圖形來表示。通過顯示已繪制的值的總和,面積圖還可以顯示局部與整體的關(guān)系。將以2000年至2021年的全國職工平均工資〔數(shù)據(jù)來自上海統(tǒng)計網(wǎng)〕為例,見表2。表2:數(shù)據(jù)樣本〔職工平均工資〕年份職工平均工資(元)200015420200117764200219473200322160200424398200526823200629569200734707200839502200942789201046757201151968201256300圖9-20.面積圖圖9-21.三維面積圖堆積面積圖和三維堆積面積圖如果多個序列中的值相似,普通面積圖的面積可能會發(fā)生重疊,從而遮擋重要的數(shù)據(jù)點(diǎn)值。這種情況下,可以使用堆積面積圖,以便在面積圖上顯示多個序列。堆積面積圖用于顯示各個值的分布隨時間或類別的變化趨勢,它也可以用三維效果表示。將以2000年至2021年的全國國有單位、集體單位、其他單位的職工平均工資〔數(shù)據(jù)來自上海統(tǒng)計網(wǎng)〕為例。表3:數(shù)據(jù)樣本〔各類型單位工資〕

國有單位工資(元)集體單位(元)其他單位(元)200015737804117942200117820852520865200219777870721886200322541984424359200424726115392627020052880312819267922006360101520927459200746426192443068720085355421787351802009623902539037104201070585282254039720117954142010463142012860424599051035圖9-22.堆積面積圖圖9-23.三維堆積面積圖百分比堆積面積圖和三維百分比堆積面積圖分比堆積面積圖將多個序列垂直堆積,從而占滿整個圖表區(qū),這種圖表以百分比方式顯示各個值的分布時間或類別的變化趨勢,百分比堆積面積圖也可以用三維效果表示。圖9-24.百分比堆積面積圖圖9-25.三維百分比堆積面積圖面積圖實(shí)驗(yàn)見word文檔9.2.4

基于分布的繪圖對于分布型圖表,當(dāng)只有一個變量時,可以選擇使用直方圖、核密度圖或箱線圖;當(dāng)有兩個變量時,可以選擇散點(diǎn)圖。這節(jié)主要講直方圖、核密度圖以及箱線圖的概念和繪制方法。直方圖直方圖通過在X軸上將值域分割為一定數(shù)量的組,在Y軸上顯示相應(yīng)值的頻數(shù),展示了連續(xù)型變量的分布用R語言繪制直方圖可以使用如下函數(shù):hist〔〕用R語言繪制直方圖require(stats)set.seed(14)x<-rchisq(100,df=4)hist(x,freq=FALSE,ylim=c(0,0.2))curve(dchisq(x,df=4),col=2,lty=2,lwd=2,add=TRUE)其中的x是一個由數(shù)據(jù)值組成的數(shù)值向量。參數(shù)freq=FALSE表示根據(jù)概率密度而不是頻數(shù)繪制圖形。參數(shù)breaks用于控制組的數(shù)量。在定義直方圖中的單元時,默認(rèn)將生成等距切分。結(jié)果這幅圖按概率密度繪制圖形。在組的數(shù)量方面,采用的是默認(rèn)等距切分,也可以根據(jù)需要控制組數(shù)圖9-26.R語言繪制直方圖核密度圖核密度估計是用于估計隨機(jī)變量概率密度函數(shù)的一種非參數(shù)方法輸入數(shù)據(jù)。核密度圖是用來觀察連續(xù)型變量分布的有效方法。用R語言繪制核密度圖在R語言中輸入表4所示的各地人口和GDP情況表代碼如下:address<-c(“a〞,〞b〞,〞c〞,〞d〞,〞e〞,〞f〞,〞g〞)population<-c(15,37,74,71,38,45,97)ty<-c(1,1,2,2,1,1,2)patientdata<-data.frame(address,population,ty)地名人口(萬人)城市大小a151b371c742d712e381f451g972表4:城市人口數(shù)據(jù)用R語言繪制核密度圖我們首先將地名中的值賦值給address,將人口賦值給population,將城市大小賦值給ty,就會自動創(chuàng)立一個數(shù)據(jù)框。繪制核密度圖一般使用格式為:Plot(density(x))其中的x是一個數(shù)值型向量。由于plot()函數(shù)會創(chuàng)立一幅新的圖形,所以要向一幅已經(jīng)存在的圖形上疊加一條密度曲線,可以使用lines()函數(shù)用R語言繪制核密度圖par(mfrow=c(2,1))d<-density(patientdata$population)plot(d,main="各城市人口的核密度")polygon(d,col="red",border="blue")rug(patientdata$population,col="brown")在第一幅圖中,你看到的是完全使用默認(rèn)設(shè)置創(chuàng)立的最簡圖形。在第二幅圖中,你添加了一個標(biāo)題,將曲線修改為藍(lán)色,使用實(shí)心紅色填充了曲線下方的區(qū)域,并添加了棕色的軸須圖。圖9-27.R語言繪制核密度圖箱線圖通過繪制連續(xù)型變量的五數(shù)總括,即最小值、下四分位數(shù)〔第25百分位數(shù)〕、中位數(shù)〔第50百分位數(shù)〕、上四分位數(shù)〔第75百分位數(shù)〕以及最大值,描述了連續(xù)型變量的分布。箱線圖能夠顯示出可能為離群點(diǎn)〔范圍±1.5*IQR以外的值,IQR表示四分位距,即上四分位數(shù)與下四分位數(shù)的差值〕的觀測。用R語言繪制箱線圖在R語言中輸入表4〔同前例〕所示的各地人口和GDP情況表;在R語言中輸入以上數(shù)據(jù),需要創(chuàng)立一個數(shù)據(jù)框。由于不同的列可以包含不同模式〔數(shù)值型、字符型的等〕的數(shù)據(jù),數(shù)據(jù)框的概念較矩陣來說更為一般??赏ㄟ^函數(shù)data.frame()創(chuàng)立數(shù)據(jù)框。一般使用格式為:mydata<-data.frame(col1,col2,col3,…)其中的列向量col1,col2,col3,…可為任何類型〔如字符型、數(shù)值型或邏輯型〕。每一列的名稱可由函數(shù)names指定如下圖的代碼演示了創(chuàng)立矩陣mymatrix的過程。地名人口(萬人)城市大小a151b371c742d712e381f451g972用R語言繪制箱線圖address<-c(“a〞,〞b〞,〞c〞,〞d〞,〞e〞,〞f〞,〞g〞)population<-c(15,37,74,71,38,45,97)ty<-c(1,1,2,2,1,1,2)patientdata<-data.frame(address,population,ty)我們可以繪制單個變量或分組變量的箱線圖,其格式是:Boxplot(formula,data=dataframe)用R語言繪制箱線圖其中的formula是一個公式,dataframe代表提供數(shù)據(jù)的數(shù)據(jù)框〔或列表〕。一個例如公式為y~A,這將為類別型變量A的每個值并列地生成數(shù)值型變量y的箱線圖。公式y(tǒng)~A*B那么將為類別型變量A和B所有水平的兩兩組合生成數(shù)值型變量y的箱線圖。添加參數(shù)varwidth=TRUE將使箱線圖的寬度與其樣本大小的平方根成正比。參數(shù)horizontal=TRUE可以反轉(zhuǎn)坐標(biāo)軸的方向。用R語言繪制箱線圖在以下代碼中,我們使用并列箱線圖研究了各城市人口對城市大小的影響boxplot(population~ty,data=patientdata,main="各城市人口及大小",xlab="城市大小",ylab="城市人口")圖9-28.R語言繪制箱線圖帶凹槽的箱線圖箱線圖靈活多變,通過添加notch=TRUE,可以得到含凹槽的箱線圖。假設(shè)兩個箱的凹槽互不重疊,那么說明它們的中位數(shù)有顯著差異。以下代碼將為我們的城市人口大小創(chuàng)立一幅含凹槽的箱線圖。boxplot(population~ty,data=patientdata,notch=TRUE,varwidth=TRUE,col="red",main="各城市人口及大小",xlab="城市大小",ylab="城市人口")參數(shù)col以紅色填充了箱線圖,而varwidth=TRUE那么使箱線圖的寬度與它們各自的樣本大小成正比。從圖中我們可以看到,城市人口越多,城市越大。圖9-29.R語言繪制帶凹槽的箱線圖箱線圖的變種——小提琴圖小提琴圖是箱線圖與核密度圖的結(jié)合。你可以使用vioplot包中的vioplot()函數(shù)繪制它。請在第一次使用之前先安裝vioplot包。vioplot()函數(shù)的使用格式為:voiplot(x1,x2,…,names=.col)其中x1,x2,…表示要繪制的一個或多個數(shù)值向量〔將為每個向量繪制一幅小提琴圖〕。參數(shù)names是小提琴圖中標(biāo)簽的字符向量,而col是一個為每幅小提琴圖指定顏色的向量。address<-c(“a〞,〞b〞,〞c〞,〞d〞,〞e〞,〞f〞,〞g〞)population<-c(15,37,74,71,38,45,97)ty<-c(1,1,2,2,1,1,2)patientdata<-data.frame(address,population,ty)library(sm)library(vioplot)x1<-patientdata$population[patientdata$ty==1]x2<-patientdata$population[patientdata$ty==2]vioplot(x1,x2,names=c(“小城市〞,〞大城市〞),col=〞gold〞)title(“各城市人口及大小的小提琴圖〞)小提琴圖根本上是核密度圖以鏡像方式在箱線圖上的疊加。在圖中,白點(diǎn)是中位數(shù),黑色盒型的范圍是下四分位點(diǎn)到上四分位點(diǎn),細(xì)黑線表示須。外部形狀即為核密度估計。圖9-30.R語言繪制小提琴圖9.2.5基于時間的繪圖基于時間的繪圖按照時間數(shù)據(jù)可以分為離散時間和延續(xù)時間兩種。在離散型時間數(shù)據(jù)中,數(shù)據(jù)來自于某個具體的時間點(diǎn)或者時間段,可能的數(shù)值也是有限的。比方說,人們每年的考試通過率就是離散型時間數(shù)據(jù)。而類似溫度這樣的數(shù)據(jù)那么是延續(xù)型的,在一天中的任何時刻,它都是變化的。離散型時間數(shù)據(jù)的繪圖主要有:柱形圖、散點(diǎn)圖。延續(xù)型時間數(shù)據(jù)的繪圖主要有:折線圖、階梯圖和LOESS曲線。本章主要講解階梯圖和LOESS曲線的概念和繪制方法。階梯圖根底階梯圖并不是直接連接兩個點(diǎn),它的曲線會保持在同一數(shù)值,知道發(fā)生變化,那時在直接向上或者向下跳躍到下一個數(shù)值。圖9-31.階梯圖例如用R語言繪制階梯圖 在R中創(chuàng)立階梯圖,需要用到plot〔〕函數(shù)。將time的值作為x軸坐標(biāo)、cost的值作為y軸坐標(biāo),然后將類型設(shè)定為S,就可以繪制出階梯圖,其用法如下plot(time,cost,type=’s’)以1991-2021年美國郵政資費(fèi)數(shù)據(jù)為例,繪制階梯圖:time<-c(1991,1995,1999,2001,2002,2006,2007,2021,2021,2021)price<-c(0.29,0.32,0.33,0.34,0.37,0.39,0.41,0.42,0.44,0.44)plot(time,price,type='s',lwd=2,main='美國郵費(fèi)階梯圖,xlab='time',ylab='price')圖9-32.R語言繪制階梯圖LOESS曲線根底如果你手中有太多的數(shù)據(jù),或者數(shù)據(jù)雜亂無章,這是我們需要繪制一條線穿過盡可能多的數(shù)據(jù)點(diǎn)。但當(dāng)你的數(shù)據(jù)趨勢不是線性時,你就需要用到LOESS,即局部加權(quán)散點(diǎn)平滑法。通過它,你可以用曲線來你和數(shù)據(jù)。圖9-33.LOSS曲線用R語言繪制LOESS曲線在R中,輸入1到50,作為x軸,隨機(jī)生成50個均值為5,標(biāo)準(zhǔn)差為3的值。之后擬合LOESS曲線。代碼如下:set.seed(1234)x<-c(1:50)y<-rnorm(50,mean=5,sd=3)plot(x,y)scatter.smooth(x,y,degree=2,span=0.4)title(main='LOESS曲線')圖9-34.R語言繪制LOSS曲線圖9.2.6基于空間的可視化-地圖中添加地點(diǎn)標(biāo)記本例數(shù)據(jù)采用的是關(guān)于美國好市多超市門店地理位置分布情況的經(jīng)緯坐標(biāo)數(shù)據(jù)。這里我們需要maps工具包來完成,次包自帶的有美國地圖。Install.packages(“maps〞)library(maps)costcos<read.csv("://book.flowingdata/ch08/geocode/costcos-geocoded.csv",sep=",")#獲得好市多門店的經(jīng)緯坐標(biāo)map(database="state")#獲得美國地圖symbols(costcos$Longitude,costcos$Latitude,circles=rep(1,length(costcos$Longitude)),inches=0.05,add=TRUE)結(jié)果可以看到好市多門店的地理位置都在地圖上用圓圈進(jìn)行了標(biāo)記圖9-35.地圖應(yīng)用在地圖中畫線有時候,如果地圖上點(diǎn)的順序存在關(guān)聯(lián),那么可能需要將點(diǎn)連接起來進(jìn)行關(guān)聯(lián)。這里我們利用line〔〕函數(shù)來完成畫線,數(shù)據(jù)采用的是網(wǎng)上發(fā)布的一個虛構(gòu)特工7天7夜的旅行軌跡。faketrace=read.csv("://book.flowingdata/ch08/points/fake-trace.txt",sep="\t")#從網(wǎng)上下載特工的旅行數(shù)據(jù)map(database="world",col="#cccccc")#加載地圖lines(faketrace$longitude,faketrace$latitude,col="#bb4cd4",lwd=2)#在圖中加直線結(jié)果如下圖,該特工7天的蹤跡已經(jīng)在圖中表現(xiàn)出來圖9-36.地圖中畫線在地圖中加氣泡有些時候,我們手上并不只有位置數(shù)據(jù),可能還會有其他的數(shù)值,列如銷售數(shù)據(jù)或者城市人口等。我們依然要在地圖上繪制圓點(diǎn),但這時候我們需要的是大小不等的氣泡。這次我們采用的數(shù)據(jù)是網(wǎng)上提供的關(guān)于未成年人生育率的數(shù)據(jù),也就是沒1000名15-19歲年齡段女性中的生育數(shù)量。代碼如下:fertility=read.csv("://book.flowingdata/ch08/points/adol-fertility.csv")map('world',fill=FALSE,col="#cccccc")symbols(fertility$longitude,fertility$latitude,+circles=sqrt(fertility$ad_fert_rate),add=TRUE,inches=0.15,bg="#93ceef",fg="#ffffff")結(jié)果可以很清晰的看到非洲國家的未成年人生育率比較高,而歐洲國家相對來說比較低。圖9-37.地圖中加氣泡9.3

多維信息的可視化分析常用的高維可視化呈現(xiàn)方法包括基于點(diǎn)的方法、基于線的方法、基于區(qū)域的方法、基于樣本的方法?;邳c(diǎn)的方法以點(diǎn)為根底展現(xiàn)單個數(shù)據(jù)點(diǎn)與其他數(shù)據(jù)點(diǎn)之間的關(guān)系〔相似性、距離、聚類等信息〕?;诰€的方法采用軸坐標(biāo)編碼各個維度的數(shù)據(jù)屬性值,將單個數(shù)據(jù)屬性布局于坐標(biāo)軸空間,并采用折線段編碼單個數(shù)據(jù)點(diǎn),以便表達(dá)各個屬性間的關(guān)聯(lián)?;趨^(qū)域的方法將全部數(shù)據(jù)點(diǎn)的全部屬性以區(qū)域填充的方式在二維平面布局,并采用顏色等視覺通道呈現(xiàn)數(shù)據(jù)屬性的具體值?;跇颖镜姆椒ú捎脠D標(biāo)或根本的統(tǒng)計圖表方法編碼單個高維數(shù)據(jù)點(diǎn),并將所有數(shù)據(jù)點(diǎn)在空間中布局排列,以便用戶進(jìn)行比照?;邳c(diǎn)的方法——散點(diǎn)圖矩陣散點(diǎn)圖通常是用于顯示和比較數(shù)值,例如科學(xué)數(shù)據(jù)、統(tǒng)計數(shù)據(jù)和工程數(shù)據(jù)。當(dāng)欲同時考察多個變量間的相關(guān)關(guān)系時,假設(shè)一一繪制它們間的簡單散點(diǎn)圖,十分麻煩。此時可利用散點(diǎn)圖矩陣來同時繪制各自變量間的散點(diǎn)圖,這樣可以快速發(fā)現(xiàn)多個變量間的主要相關(guān)性,這一點(diǎn)在進(jìn)行多元線性回歸時顯得尤為重要。R語言中有很多創(chuàng)立散點(diǎn)圖矩陣的實(shí)用函數(shù),比方paris(),scattterplotMatrix()函數(shù)和gclus包,在這里用paris()做簡單例如:pairs(~mpg+disp+drat+wt,data=mtcars,main="散點(diǎn)圖矩陣")你可以看到所有指定變量間二元關(guān)系。列如,mpg和disp的散點(diǎn)圖可在兩變量的行列交叉處找到。值得注意的是,主對角線的上方和下方的六幅散點(diǎn)圖是相同的,這也是為了方便擺放圖形的緣故。通過調(diào)整參數(shù),可以只展示下三角或者上三角的圖形。圖9-38.散點(diǎn)圖矩陣基于線的方法—線圖線圖本質(zhì)上是一種單變量的可視方法?;诰€的高維可視化一般是將多個線圖合并到一個圖中,通過使用不同的視覺通道〔如線條的粗細(xì)、類型、顏色等〕區(qū)分不同的數(shù)據(jù)在一個線圖中的線條有很多時,我們有可能會發(fā)現(xiàn)數(shù)據(jù)的范圍會重疊,難以看清單個數(shù)據(jù)。將數(shù)據(jù)點(diǎn)根據(jù)一個維度上的數(shù)值排序會很好地解決這個問題。如果不同維度的單位不同,或者單位的意義不同,可能一個縱坐標(biāo)很難將數(shù)據(jù)意義表示清楚,這時我們可以在左右兩側(cè)同時引入縱坐標(biāo),從而減少歧義。圖9-39.線圖基于線的方法—平行坐標(biāo)平行坐標(biāo)的思想非常簡單、直觀,它是在橫坐標(biāo)上取p個點(diǎn),依次表示各個指標(biāo)(即變量);縱坐標(biāo)上那么對應(yīng)各個指標(biāo)的值(或者經(jīng)過標(biāo)準(zhǔn)化變換后的值),然后將每一組數(shù)據(jù)對應(yīng)的點(diǎn)依次連接即可。parallelplot()函數(shù)可以輕松繪出輪平行坐標(biāo)。繼續(xù)利用iris數(shù)據(jù),以下代碼可以畫出其平行坐標(biāo)圖。library(lattice)parallelplot(~iris[1:105,1:4],iris,lty=c(1,3,5),lwd=2,groups=Species,horizontal.axis=FALSE)結(jié)果采用平行坐標(biāo)展現(xiàn)了多屬性數(shù)據(jù)的根本原理是線的密度能呈現(xiàn)不同數(shù)據(jù)屬性的關(guān)系。在圖9-40中,密集的線的位置表示了明顯的維度之間的相關(guān)關(guān)系,交叉的線代表了維度之間的對立關(guān)系,相對獨(dú)立的或者線段斜度大的線那么對應(yīng)了獨(dú)立的維度關(guān)系,走勢相近的線可以看成具有相同類別的數(shù)據(jù)聚類。和散點(diǎn)圖比較,平行坐標(biāo)的優(yōu)點(diǎn)在于可展現(xiàn)維度組之間的關(guān)系。此外,通過交互的用戶選取可過濾數(shù)據(jù),更清晰地展現(xiàn)各個維度的分布。圖9-40.平行坐標(biāo)線圖R中星狀圖的函數(shù)為stars(),其用法如下:palette(rainbow(12,s=0.6,v=0.75))stars(mtcars[,1:7],len=0.8,key.loc=c(14,1),nrow=5,main="MotorTrendCars",draw.segments=TRUE)上圖描述了MotorTrend雜志1974年的汽車數(shù)據(jù),我們可以看到豐田花冠(ToyotaCorolla)的每加侖行駛的英里數(shù)〔mpg〕在眾多汽車品牌中是最長的,它在星狀圖中紅色的扇形也最大。徑向軸線圖的優(yōu)點(diǎn)是有利于比較徑向上的數(shù)據(jù),但不便于比較相鄰的數(shù)據(jù)元素。其他的徑向軸線圖類型有:采用極坐標(biāo)的點(diǎn)圖;在基線上繪制柱狀圖的圓形柱狀圖;線和基線之間面積采用顏色或者紋理填充的圓形填充圖等。這些方法都采用多個圓周作為線圖的坐標(biāo)軸,圓周的環(huán)繞方式可以是不同半徑的同心圓,也可以是連續(xù)的螺旋線。圖9-41.R中星狀圖基于區(qū)域的方法—柱狀圖面向高維數(shù)據(jù)的柱狀圖可視化有多種類型。其中堆疊柱狀圖是最常用的方式。它通常是將同一數(shù)據(jù)的多個屬性的數(shù)值堆疊成一個長方柱,用不同顏色、紋理等可視化元素區(qū)分這些屬性。R中堆疊柱狀圖的函數(shù)為barplot(),其用法如下:a<-head(mtcars)b<-as.matrix(a)d<-t(b)barplot(d,col=rainbow(11),legend=rownames(d),ylim=c(0,600),font=2)結(jié)果我們選取了R語言內(nèi)置數(shù)據(jù)mtcars中的前六個品牌的汽車數(shù)據(jù),繪制了堆疊柱狀圖。圖9-42.R中堆疊柱狀圖基于區(qū)域的方法—表格顯示多維數(shù)據(jù)經(jīng)常以表格的形式存儲,對應(yīng)的可視化方法可以采取表格形式,配合敏捷的用戶交互功能,以實(shí)現(xiàn)對數(shù)據(jù)的快速理解。熱力圖是一種將規(guī)那么化數(shù)據(jù)轉(zhuǎn)換為顏色色調(diào)的常用可視化方法,其中每個規(guī)那么單元對應(yīng)數(shù)據(jù)的某些屬性,屬性的值通過顏色映射表轉(zhuǎn)換為不同的色調(diào)并填充規(guī)那么單元。R中熱力圖圖的函數(shù)為heatmap(),其用法如下:require(graphics)x<-as.matrix(mtcars)rc<-rainbow(nrow(x),start=0,end=.3)cc<-rainbow(ncol(x),start=0,end=.3)hv<-heatmap(x,col=cm.colors(256),scale="column",RowSideColors=rc,ColSideColors=cc,margins=c(5,10),xlab="specificationvariables",ylab="CarModels",main="HeatmapofMtcars")結(jié)果在這個圖中,藍(lán)色越深,值越小;紫色越深,值越大;白色代表中間值。我們可以看到代表瑪莎拉蒂寒風(fēng)雙門跑車〔MaseratiBora〕的汽化器〔Carb〕的格子顏色是紫色,是最大值。上圖中還將數(shù)值相似的聚成一類。MazdaRX4和MazdaRX4Wag的汽車各個屬性根本相似,顏色都為紅色〔左側(cè)的一列格子〕,所以這兩個品牌的車子最為相似。圖9-43.R中熱力圖基于區(qū)域的方法—馬賽克圖馬賽克圖是一種可以用于兩種以上類別型變量的可視化方法。在馬賽克圖中,嵌套矩形面積正比于單元格頻率,其中該頻率即多維列聯(lián)表中的頻率。顏色和陰影可表示擬合模型的殘差值。我們以R語言內(nèi)置數(shù)據(jù)集UCBAdmissions〔它是在加州大學(xué)伯克利分校的招生情況表〕數(shù)據(jù)列表為例,來探討如何制作馬賽克圖、怎樣讀懂馬賽克圖。利用下面的代碼,獲得該數(shù)據(jù)的相關(guān)系數(shù):Ftable(UCBAdmissions)DeptABCDEFAdmitGenderAdmittedMale5123531201385322Female89172021319424RejectedMale313207205279138351Female198391244299317安裝vcd包,vcd包中的mosaic()函數(shù)可以繪制馬賽克圖,代碼如下:library(vcd)mosaic(UCBAdmissions,shade=TRUE,legend=TRUE)其中添加選項(xiàng)shade=TRUE將根據(jù)擬合模型的皮爾遜殘差值對圖形上色,添加選項(xiàng)legend=TRUE將展示殘差的圖例。ftable(UCBAdmissions)library(vcd)mosaic(UCBAdmissions,shade=TRUE,legend=TRUE)結(jié)果馬賽克圖隱含著大量的數(shù)據(jù)信息。例如:①該大學(xué)錄取的男生比例比女生高;②F專業(yè)錄取率比其他小;③在B專業(yè)錄取的女生遠(yuǎn)比男生多。繼續(xù)觀察,你將發(fā)現(xiàn)更多有趣的信息。擴(kuò)展的馬賽克圖添加了不同的線條區(qū)域來表示擬合模型的殘差值。在本例中,右斜線區(qū)域說明,在假定錄取率與性別和專業(yè)無關(guān)的條件下,該類別下的生存率通常超過預(yù)期值。豎線區(qū)域那么含義相反。一定要運(yùn)行該例子的代碼,這樣你可以真實(shí)感受圖形的效果。圖形說明,在模型的獨(dú)立條件下,A專業(yè)錄取男生超過模型預(yù)期值。如果在模型的獨(dú)立條件下,F(xiàn)專業(yè)錄取率比模型預(yù)期值低。圖9-44.R中馬賽克圖基于樣本的方法—切爾諾夫臉譜圖切爾諾夫臉譜圖采用人臉特征編碼不同的數(shù)據(jù)屬性。人臉的每一個部位,例如眼睛、耳朵、嘴巴和鼻子都代表不同的數(shù)據(jù)屬性。每一個部位的變化表現(xiàn)數(shù)值的大小,例如形狀、大小、轉(zhuǎn)向和擺放。這種方法利用了人們對臉部特征的熟識和分辨微小變化的敏感性。由于臉部每一個部位對于識別的準(zhǔn)確性不同,需謹(jǐn)慎設(shè)置數(shù)據(jù)的屬性。安裝aplpack包和tcltk包,aplpack包中的faces()函數(shù)可以繪制臉譜圖,代碼如下:windows(width=15,height=10)#將繪圖窗口為15*10的大小library(aplpack)library(tcltk)faces(mtcars,face.type=1)參數(shù)說明:effectofvariables:modifieditemvar“heightofface〞“mpg〞“widthofface〞“cyl〞“structureofface〞“disp〞“heightofmouth〞“hp〞“widthofmonth〞“drat〞“smiling〞“wt〞“heightofeyes〞“qsec〞“widthofeyes〞“vs〞“heighofhair〞“am〞“widthofhair〞“gear〞“styleofhair〞“carb〞“heightofnose〞“mpg〞“widthofnose〞“cyl〞“widthofear〞“disp〞“heightofear〞“hp〞圖9-45.R中臉譜圖上圖顯示了MotorTrend雜志1974年汽車數(shù)據(jù)的切爾諾夫臉譜圖??梢郧逦乜吹剑鞰azdaRX4、MazdaRX4Wag的小人臉譜極為相似,說明這兩種汽車品牌的各個參數(shù)十分相似。代表Merc450SL、Merc450SLC和CadillacFleetwood的小人臉譜也非常相似,但是CadillacFleetwood小人的耳朵比前兩個小人寬,說明CadillacFleetwood汽車的disp比前兩個汽車品牌大。郵票圖表郵票圖表方法將高維數(shù)據(jù)的多個視圖以郵票大小按一定順序排列,從而將不同時間和空間的一系列高維數(shù)據(jù)擺放于同一個視圖。該方法為比較多個數(shù)據(jù)屬性提供了一個直接的方案。郵票圖表方法的優(yōu)勢非常突出,常被用于屬性數(shù)目不多的情形。與切爾諾夫圖情況一樣,這里不做詳細(xì)介紹了9.4文本與文檔可視化9.4.1單文本內(nèi)容可視化詞云:詞云,又稱文本云或標(biāo)簽云。詞云是對網(wǎng)絡(luò)文本中出現(xiàn)頻率較高的“關(guān)鍵詞〞予以視覺上的突出,形成“關(guān)鍵詞云層〞或“關(guān)鍵詞渲染〞,從而過濾掉大量的文本信息,使瀏覽網(wǎng)頁者只要一眼掃過文本就可以領(lǐng)略文本的主旨。它是最直觀、最常見的對文本關(guān)鍵字進(jìn)行可視化的方法。通常以字號和顏色來映射文字的相關(guān)屬性。權(quán)重越大的關(guān)鍵詞的字號越大,顏色越顯著。R語言繪制英文詞云用R語言繪制英文詞云,一般會用到wordcloud包,需要安裝和導(dǎo)入。其用法如下:wordcloud(words,freq,scale=c(4,.5),min.freq=3,max.words=Inf,random.order=TRUE,random.color=FALSE,rot.per=.1,colors="black",ordered.colors=FALSE,use.r.layout=FALSE,...)參數(shù)介紹①words——關(guān)鍵詞列表②frep——關(guān)鍵詞對應(yīng)的詞頻列表③scale——字號列表。c(最大字號,最小字號)④min.freq——最小限制頻數(shù)。低于此頻數(shù)的關(guān)鍵詞將不會被顯示。⑤max.words——限制詞云圖上關(guān)鍵詞的數(shù)量。最后出現(xiàn)在詞云圖上的關(guān)鍵詞數(shù)量不超過此限制。⑥r(nóng)andom.order——控制關(guān)鍵詞在圖上的排列順序。T:關(guān)鍵詞隨機(jī)排列;F:關(guān)鍵詞按頻數(shù)從圖中心位置往外降序排列,即頻數(shù)大的詞出現(xiàn)在中心位置。⑦random.color——控制關(guān)鍵詞的字體顏色。T:字體顏色隨機(jī)分配;F:根據(jù)頻數(shù)分配字體顏色。⑧rot.per——控制關(guān)鍵詞擺放角度。T:水平擺放;F:旋轉(zhuǎn)90度。⑨colors——字體顏色列表⑩ordered.colors——控制字體顏色使用順序。T:按照指定的順序給出每個關(guān)鍵詞字體顏色,〔似乎是要求顏色列表中每個顏色一一對應(yīng)關(guān)鍵詞列表〕;F:任意給出字體顏色。library(tm)library(wordcloud)data(crude)crude<-tm_map(crude,removePunctuation)crude<-tm_map(crude,function(x)removeWords(x,stopwords()))wordcloud(crude)兩個tm_map()函數(shù)分別用于去掉標(biāo)點(diǎn)符號和停用詞,然后用wordcloud()函數(shù)繪制一幅簡單的詞云圖,字體越大,表示關(guān)鍵詞頻率越大,由此可見該文檔中oil和said最為關(guān)鍵。圖9-46.英文詞云R語言繪制中文的詞云#1.讀取數(shù)據(jù)庫setwd("d:\\R")#設(shè)置目錄

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論