日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

r语言 wiod_数据可视化基本套路总结

發布時間:2023/12/2 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 r语言 wiod_数据可视化基本套路总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

常用圖形

散點圖

image

散點圖用來表征兩個(如果多個就分面,如上圖)數值型變量間的關系,每個點的位置(即x軸和y軸坐標)映射著兩個變量的值。當然對于三個數值型變量,也有三維散點圖,不過用得不多。

氣泡圖

image

在散點圖的基礎上加一個維度,把各個點的面積大小映射一個新的變量,這樣不僅點的位置還有大小表示數據特征。

折線圖

image

把散點圖各個散點用折線連接起來就成了折線圖,當然不僅僅只是為了好看,當散點越多,折線就越平滑地趨近于曲線,能更加貼切地反映連續型變量的規律。

面積圖

image

面積圖

把折線圖進一步往坐標軸投影就成了面積圖,本質其實跟折線圖沒區別,只是看起來更加飽滿一點。

柱狀圖

image

柱狀圖是一種用得很廣泛的圖形,它表征分類型變量 vs 數值型變量的關系。如果分類型變量的每一個取值還能繼續分類,那么簡單的柱狀圖就變成了復雜的柱狀圖,每一個類別僅由一根柱變成多根柱,多根柱可以串列,也可以并列。

值得一提的是,柱狀圖一般需要排序:如果分類型變量是有序的,按照它本身的順序排列即可;如果分類型變量無序,那么則根據數值型變量的大小進行排序,使柱狀圖的高度單調變化。(排序的宗旨是直觀的表達出想展示的規律)

條形圖

image

條形圖

只不過把柱狀圖坐標旋轉一下,豎著的變成橫著的,這個可根據版面自由選擇。上圖示例就是串列的堆疊條形圖。

南丁格爾玫瑰圖

image

玫瑰圖

本質還是柱狀圖,只不過把直角坐標系映射成極坐標系。看起來比柱狀圖更美觀。

瀑布圖

image

瀑布圖

瀑布圖是柱狀圖的一種延伸,它一般表示某個指標隨時間的漲跌規律,每一個柱狀也不都是從0開始的,而是從前一個柱狀的終點位置開始,這樣既反映了每一個時刻的漲跌情況,也反映了數值指標在每一個時刻的值。

餅圖

image

餅圖

餅圖的本質仍是柱狀圖,只不過餅圖一般用來表示各個類別的比例,而不是絕對的數值,用角度來映射大小。

值得一提的是,因為一個圓餅只有360度,如果類別太多了,這個餅會被切割得非常細,不利于閱讀;這種情況下老老實實地用柱狀圖。

圓環圖

image

圓環圖

本質就是餅圖,只不過把實心圓換成了空心的圓環;如果清一色的餅圖太過單調,可以考慮換個環形圖。

sunburst chart

image

sunburst chart

sunburst chart看起來跟餅圖比較像,但比餅圖更復雜得多。它從中心向外輻射,每輻射一層就細分一層,用來表示多個變量多層之間的比例關系。

馬賽克圖

image

馬賽克圖

馬賽克圖比較復雜,與柱狀圖相比,它的分類變量就多了幾個,而且還能實現交叉映射,所以比柱狀圖更抽象,更細化。

馬賽克圖隱含著大量的數據信息。例如:(1)從船員到頭等艙,存活率陡然提高;(2)大部分孩子都處在三等艙和二等艙中;(3)在頭等艙中的大部分女性都存活了下來,而三等艙中僅有一半女性存活;(4)船員中女性很少,導致該組的Survived標簽重疊(圖底部的No和Yes)。繼續觀察,你將發現更多有趣的信息。關注矩形的相對寬度和高度,你還能發現那晚其他什么秘密嗎?

擴展的馬賽克圖添加了顏色和陰影來表示擬合模型的殘差值。在本例中,藍色陰影表明,在假定生存率與船艙等級、性別和年齡層無關的條件下,該類別下的生存率通常超過預期值。紅色陰影則含義相反。一定要運行該例子的代碼,這樣你可以真實感受下著色圖形的效果。圖形表明,在模型的獨立條件下,頭等艙女性存活數和男性船員死亡數超過模型預期值。如果存活數與船艙等級、性別和年齡層獨立,三等艙男性的存活數比模型預期值低。嘗試運行example(mosaic),可以了解更多馬賽克圖的細節。

直方圖

image

直方圖

直方圖看起來跟柱狀圖很像,但其實本質并不一樣 (這一點需要注意)。直方圖用來表征一個數值型變量的分布,具體來說就是把這個連續型變量劃分成多個區間,然后統計各個區間的頻數。直方圖橫軸是數值型變量本身的值,縱軸是頻數。

概率密度曲線圖

image

概率密度曲線圖

概率密度曲線圖本質與直方圖類似,不過縱軸不是頻數而是頻率。正如折線圖和面積圖一樣,概率密度曲線圖也可自由選擇要不要面積投影。這個圖太學術了,一般出現在數學教材中(比如正態分布……)。

雷達圖

image

雷達圖

很多游戲中的人物能力極向對比就是以雷達圖表示的。柱狀圖一般是一個分類型變量不同類別間的比較,雷達圖可以是多個數值不在同一個scale之下;更具體地說,柱狀圖一般是橫向比較,雷達圖既可以多個觀測之間的縱向比較,也可以是一個觀測在不同變量間的橫向比較。

值得一提的是,雷達圖如果用來橫向比較,需先把各個數值變量作歸一化處理。

箱線圖

image

箱線圖亦稱盒須圖,也是挺學術的一個圖。它用來表征各個數值型變量的分布狀況,每一條橫線代表分位數,盒內部的橫線代表中位數,點代表異常值。

小提琴圖

image

小提琴圖本質與直方圖一樣,都是表征數值型變量的分布,每一個小提琴的寬度代表它在該高度處的頻率范圍。

熱力圖

image

熱力圖一般以顏色來映射密度或者其他數值變量,一般來說,顏色最深的地方表示數據最集中。(比較常用,對于熱圖的解釋還需要看圖例的含義)

日歷圖

image

日歷圖

日歷圖是熱力圖的變種,它把每一個矩形重新排列成日歷的形狀,這樣可以方便地觀察一段時間內每一天的數值特征。

地圖

image

地圖

地圖用來可視化地理數據,這些數據一般由國家地理測繪部門提供,在一些網站上也能找到,常用的數據格式有shp、JSON、csv等。

地圖的繪制原理是基于大量的散點,勾勒成曲線,再連接成多邊形——其中每一塊多代形代表一個地區,可以是國家、省、市、區縣等。

地圖的應用主兩有種情況:一是如上圖一樣以顏色填充每一個多邊形來映射一個指標,這種情況下地圖跟柱狀圖本質相同,但是多了多邊形之間的位置關系;另一種是在地圖上疊加散點或者曲線,來表征各個點之間的地理位置。

地球圖

image

地球圖

地圖是二維的,三維的就是地球圖。這種圖形一般是交互的,也就是說你可以用鼠標實現地球的旋轉和縮放等操作。

值得一提的是,不要僅僅為了3D就使用地球圖,要看數據本身的情況。如果你的數據范圍本來就覆蓋全球,用地球圖很合適;但如果你的數據范圍小,就一個國內,甚至一個省市內的,搞個地球圖就太浮夸,而且整個球上只有一個非常小的區域有數據,是很不和諧的。

網絡圖

image

網絡圖的元素包含點和邊,邊分為無向邊、單向邊和雙向邊來表征點與點的連接關系,邊的粗細可以映射這種關系的強弱。

arc diagram

image

arc diagram

arc diagram也是一種網絡圖,只不過它把所有的節點一字排開,以弧線來表示邊。這樣看起來藝術感更強,適合于節點較多的網絡關系可視化。

和弦圖

image

和弦圖一般用來表示雙向的網絡關系(比如AB兩個城市相互流入流出了多少人),數據結構一般為鄰接矩陣。當節點很多的時候,各種弧線交叉得就非常密密麻麻,這種情況下,要么交互,要么考慮別的圖形。

hierarchical edge bundling

image

hierarchical edge bundling

hierarchical edge bundling也表示節點間的網絡關系,不過它把邊扭曲成曲線,這樣就適合節點比較多的可視化。

矩形樹圖

image

矩形樹圖

矩形樹圖本質就是決策樹的可視化,只不過排成矩形。它也是把各個變量層層細分,這一點跟sunburst圖類似。當變量比較多的時候,做成交互可縮放的形式更合適。

平行坐標圖

image

平行坐標圖

平行坐標圖的優點是可以把多個變量并形排開,把每一個記錄都以折線連接上。這樣當數據量大的時候,其實可以很方便地觀察各個變量的分布情況。

桑基圖

image

桑基圖看起來跟平行坐標圖有點像,但含義不一樣。桑基圖主要的用法是表征流量在各個層級的流動關系,上一層如何向下一層分散,下一層如何由下一層匯聚。

漏斗圖

image

漏斗圖

互聯網運營有一個很重要的概念就是層級轉化,這個每層的轉化率用漏斗圖來可視化,形神俱佳。如果兩層之間的寬度近似,表征該層的轉化率高;如果兩層之間的寬度一下子減小了很多,表示轉化率低。

儀表盤

image

儀表盤

儀表盤的觀賞性大于實用性,實際上它的功能很簡單,就是表征一個數值型變量在最小值和最大值之間的什么分位。

象柱形圖

image

象柱形圖

象柱形圖其實就是柱形圖,只不過把柱子換成了其它的圖形。如果數據本身有比較具體、形象的含義和背景,那么用象柱形圖是一種比較新穎的選擇。

主題河流圖

image

主題河流圖

主題河流圖好看,但不好解釋,如果不是交互式的,最好不要用。它一般是把多個類別隨時間的變化數據堆疊起來,表征隨時間變化的趨勢。

詞云圖

image

詞云圖即是對詞匯的頻數進行可視化,一個詞越大它出現的次數就越多,一般與文本挖掘配合使用。

在實際的數據可視化中,往往不是孤立地用一個基本圖形,把多個圖形組合、鄰接,能交叉對比出更多的信息。比如在柱狀圖上疊加折線圖,在地圖上疊加散點圖,把多個柱狀圖放在一起對比等等。

記住數據可視化展現信息是第一位的,好看倒是其次。

圖形語法

看了以上這么多圖形,對可視化圖形也有了一個感性的認識。現在基于ggplot2粗略地介紹一下圖形語法,個人總結,既不全面也不系統;想學習全面的圖形語法請去專門學習。

數據(data):數據才是圖形的靈魂,這點無需解釋。

幾何對象(geom):也就是圖形本身,這是可視化的外形。根據數據特征,選擇最合適的圖形。

映射(mapping):映射即使把數據和圖形給連接起來。映射什么數據變量,它是連續的還是離散的?

標度(scale):這個是從數據中剝離,但是控制數據如何映射到圖形上的屬性。圖形中用什么通道來映射?常用的有顏色、長度、面積、形狀、透明度等通道。

坐標系(coord):坐標系不一定非得是直角笛卡爾坐標系,比如對于地圖并不適合,所以要做專門的投影操作。轉換坐標系也有造成不同的視覺效果,比如把柱狀圖的坐標系轉換成極坐標系就變成了玫瑰圖。

統計變換(stat):對數據進行常規的統計操作,不過也可以先把數據處理好,可視化的時候就不再做變換。

分面(facet):如果圖形維度較高,并不是一張圖能說明的,那么就分面處理。分面實際上是多加了一個維度,就像一頁紙和一頁書的區別。

位置(position):一般來說圖形各個元素的位置是由數據決定的,不過在不影響分析的前提下為了視覺美觀也可以做一些微調。比如有的散點圖只看它在y軸的高度,這個時候就可以在x軸上加擾動,沒必要很多點都擠在一起。

掌握了圖形語法,對理解可視化的本質,構思圖形屬性很有幫助;只有掌握了圖形語法,才能真正自由地去創造數據可視化,而不僅僅只是往模板里套數據。

交互方式

去年在浙大接受可視化培訓時,陳為老師(浙大教授,國內數據可視化領域比較權威的學者)提到了一句:交互性是數據可視化與信息圖的區別。什么是交互,就是用戶輸入一個信號,可視化系統能給出響應,以幫助他更好地理解可視化。數據可視化的本質是以簡單、直接的圖形幫助讀者更容易理解數據背后的規律,但許多可視化圖形做得太復雜了,反而不利于解讀,這個時候交互就能比較有效地解決這個問題。

交互的好處主要有:

節省空間。想想看,如果要把一個月每天的數據都做一張圖,難道要做30張圖?以交互的方式,讓用戶自己選擇哪一天,然后進行數據篩選、計算、重新畫圖,1張圖就夠了。

展現源數據。圖形一般是對數據的具象化,所以它一般不展現具體的數字。但是當用戶就想了解具體的數字,不必再貼一張表格,把鼠標移到對應的位置就會彈出數據提示框。

引導性強。如果只把一張圖扔給用戶讓他們自己去理解,這樣體驗太差;配個人在一邊講解成本又太高。交互式可視化系統可以做引導模塊,引導用戶去探索、理解,也能增加用戶的興趣和成就感。

常用配色

對于一個直男來說,配色方案一直是很苦惱的問題。有條件的話最好找設計師參考,沒有的話最簡單的方法就是參考比較成功的可視化作品的配色風格。

配色方案沒有具體的規律總結,主要靠感覺。下面貼一些配色方案自行體會即可。

image

調色板

image

bootswatch

可在bootswatch上參考相關的CSS配色方案。

常用工具

數據可視化的工具很多,也有不多人已經總結過,這里就大致提一下。

ggplot2

R最擅長的除了統計建模就是可視化了,而ggplot2是最流行、最強大的繪圖包(應該沒有之一)。對于靜態圖,只要你有足夠的創意,ggplot2基本都可以通過其系統完備的畫圖語法實現。而R中也有相關的包可以把ggplo2圖形變成交互式,彌補了ggplot2本身不能交互的弱點。好色之旅

d3.js

d3.js個很強大的庫,許多先進、前衛的圖形在上面都有demo,它可以在較底層以較高的自由度畫圖并配置交互效果。但是它的學習曲線很陡,坑也較多。

echarts

echarts在江湖上被稱為”百度為數不多的良心產品“,這個庫跟d3相反,它離應用層更近,提供了許多示例模板,把代碼copy過去改改數據就行了。所以echarts的優點是上手容易、圖表漂亮、交互式效果也很好,缺點是自由度低,一旦你有個創意echarts沒提供對應的模板,那就沒辦法了。

Excel

隨著Excel的發展,它的圖表也越來越豐富美觀,很容易上手,仍然是把數據往模板里套的方式。推薦 3 個超贊的 EXCEL 插件,讓你 5 分鐘從小白變大神

PS & AI

這兩個是設計師的工具,但是出了一張可視化的圖之后往往需要進一步修繕,這就是設計師的工作了。可以生成一張pdf矢量圖,然后導入PS或AI中,這樣對每一個元素操作都很方便。生物AI插圖素材獲取和拼裝指導 文章用圖的修改和排版(2)

DataV

最后友情幫助阿里打個廣告。DataV很適合做大屏可視化展示,效果很炫酷,而且模板越來越成熟,上手難度也越來越低,同時價格也不貴。

image

DataV做的大屏展示

思考一個問題:數據可視化到底是否需要編程?對于大數據量、自由度要求較高、創意設計強的可視化應當要編程(特別是前端編程),但是對于日常小規模、簡化、通用的可視化,用工具即可。

而且隨著數據可視化技術的發展,它的門檻一定是越來越低,越來越不需要編程也能做出很好的可視化效果。

應用場景

大屏展示

這種情況一般是企業級的數據可視化應用,一般是領導向客戶展示介紹產品和業務時所用,所以它的難度和工作量也最高。大屏展示要求大氣、炫酷、交互性強。

原型分享

比如用R中的shiny快速搭建一個可視化原型,然后在公司內部搭建一個內網服務器部署上去,內部同事都可以交互使用,很方便地了解產品原型及數據規律。這種情況下不必太花哨,但是要具體、清晰,還有要一定的交互性。

圖文報告

這個是放在報告中或者PPT (你和PPT高手之間,就只差一個iSlide)中展示給別人看的,所以靜態圖表就行,這個難度最低。報告中的圖表要求簡潔、清晰、易于解讀。

可視化比賽體會

最后談談去年參加的阿里云天池公益云圖數據可視化創新大賽的體會,有幸能跟很優秀的朋友組隊拿了冠軍,還能結識阿里官方工作人員以及不少同樣優秀的朋友,收獲很大。僅從數據可視化本身的角度來說,那場比賽也給了我深刻的體會:

數據可視化本身是表層的東西,可是一款優秀的數據可視化一定要有深刻的內涵。從技術的角度來說,要有大數據整理、數據分析和數據挖掘的智能因子在里面;從背景的角度來說,可視化作品就如同文藝作品一樣要源于實際,高于實際,假大空、純粹只為了炫技的可視化并沒有什么意義。

不要只用套路,要有自己的創意和設計。有一些作品只不過純粹套用一下echarts的模板,除了數據改了一下,其他都沒改;這種作品即使能過初賽,也不能過復賽。

數據可視化是為了向別人展示,讓別人理解數據背后的背景和內容的,也是整個數據分析的最后一環。所以除了可視化作品本身,演講也是很重要的,不要張口閉口一堆貌似高大上的技術,那只會適得其反;要講故事,講得越通俗、越有趣效果越好。

總結

以上是生活随笔為你收集整理的r语言 wiod_数据可视化基本套路总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。