翻譯|使用教程|編輯:楊鵬連|2020-07-01 15:14:04.420|閱讀 367 次
概述:一起探索如何將箱形圖與抖動如何相結(jié)合,比較連續(xù)變量并可視化其大小。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Highcharts是一款純JavaScript編寫的圖表庫,為你的Web網(wǎng)站、Web應(yīng)用程序提供直觀、交互式圖表。當(dāng)前支持折線、曲線、區(qū)域、區(qū)域曲線圖、柱形圖、條形圖、餅圖、散點圖、角度測量圖、區(qū)域排列圖、區(qū)域曲線排列圖、柱形排列圖、極坐標(biāo)圖等幾十種圖表類型。
箱形圖是一種非常好的圖表,可幫助快速可視化我們的數(shù)據(jù)點分布的形狀并檢測異常值。然而,箱形圖的解釋很容易混淆并誤導(dǎo)受眾。克服這一缺點的一種方法是將箱形圖與抖動相結(jié)合。
在本教程中,我們將向您展示如何通過組合箱形圖和抖動來創(chuàng)建有效的R可視化效果。
備注基本上,箱形圖僅在五個主要值中顯示大量點的統(tǒng)計數(shù)據(jù):最大值,第三四分位數(shù),中位數(shù),第一四分位數(shù)和最小值。如果數(shù)據(jù)集有異常值,則箱形圖也會顯示它們。
下面的演示顯示了2012年奧運會運動員四個不同學(xué)科的高度:獨木舟,體操,曲棍球和現(xiàn)代五項:
這是R中的代碼:
install.packages("devtools") library(devtools) devtools::install_github("jbkunst/highcharter") library("highcharter") library("dplyr") library(readr) packageVersion("highcharter") #Load the data df <- read_csv( "http://raw.githubusercontent.com/mekhatria/demo_highcharts/master/Olympics2012CapitalLetter.csv" ) #Remove the unnecessary data such as nationality, date of birth, name, and age df = subset(df, select = -c(nationality, date_of_birth, name, age)) # Compare the data set using the descipine name and sex my_data <- df %>% filter((sport == "Gymnastics" & sex == "male") | (sport == "Canoe" & sex == "male") | (sport == "Hockey" & sex == "male") | (sport == "Modern Pentathlon" & sex == "male") ) #Remove the redundant data my_data = subset(my_data, select = -c(sex)) #Create the chart hcboxplot( outliers = FALSE, x = my_data$height, var = my_data$sport, name = "Length" ) %>% hc_title(text = "Male height by descipline (Olympic 2012)") %>% hc_yAxis(title = list(text = "Height in metre")) %>% hc_chart(type = "column")
我們可以觀察到以下內(nèi)容:
到目前為止,箱形圖使我們能夠以非常整潔和快速的可視化方式獲得一些統(tǒng)計信息和數(shù)據(jù)比較。但是,箱形圖未顯示圖表上的數(shù)據(jù)點。如果沒有數(shù)據(jù)點,圖表的解釋很容易誤導(dǎo)受眾,使其將盒圖的長度與數(shù)據(jù)點的大小聯(lián)系起來,或者兩個相似的盒圖大小會有相同的數(shù)據(jù)點數(shù)量等。換句話說,我們無法回答以下問題:
彌補(bǔ)箱形圖缺點的一種方法是增加抖動。添加到繪圖框中的抖動會顯示數(shù)據(jù)點的密度和大小。
這是R中的代碼:
#Load the data df <- read_csv( "http://raw.githubusercontent.com/mekhatria/demo_highcharts/master/Olympics2012CapitalLetter.csv" ) #Remove the unnecessary data such as nationality, date of birth, name, and age df = subset(df, select = -c(nationality, date_of_birth, name, age)) # Comparing two data set using the sport name and sex my_data <- df %>% filter((sport == "Gymnastics" & sex == "male") | (sport == "Canoe" & sex == "male") | (sport == "Hockey" & sex == "male") | (sport == "Modern Pentathlon" & sex == "male") ) #Remove the redundant data my_data = subset(my_data, select = -c(sex)) #Create the chart hcboxplot( x = my_data$height, var = my_data$sport, name = "Length", color = "#2980b9", outliers = TRUE ) %>% hc_chart(type = "column") %>% hc_title(text = "Male height by descipline (Olympic 2012)") %>% hc_yAxis(title = list(text = "Height in metre")) %>% hc_add_series( data = my_data, type = "scatter", hcaes(x = "sport", y = "my_data$height", group = "sport") ) %>% hc_plotOptions(scatter = list( color = "red", marker = list( radius = 2, symbol = "circle", lineWidth = 1 ) )) %>% hc_plotOptions(scatter = list(jitter = list(x = .1, y = 0)))
毫無疑問,在可視化的項目中,獨木舟和曲棍球項目擁有最大數(shù)量的樣本,而現(xiàn)代五項擁有最小數(shù)量的樣本。盡管如此,體操和曲棍球項目的方框圖形狀幾乎相同。它們的數(shù)據(jù)點大小不同。添加抖動的另一個好優(yōu)點是可以直觀地顯示每個規(guī)則的最大值,最小值和離群值的數(shù)量。
好吧,看來增加抖動有助于我們更好地理解數(shù)據(jù)集。但是,值得一提的是,抖動圖本身也有其缺點,但是與箱線圖的組合可從每個圖中獲得最佳效果,因為它們可以相互彌補(bǔ)缺陷。抖動圖將在另一篇文章中探討:)。
現(xiàn)在,您知道如何通過混合箱形圖和抖動來創(chuàng)建引人注目的交互式圖表。讓我們知道您使用這些圖表的經(jīng)驗,并隨時在下面的部分中分享任何評論或問題。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: