翻譯|使用教程|編輯:楊鵬連|2020-07-01 15:14:04.420|閱讀 367 次
概述:一起探索如何將箱形圖與抖動如何相結合,比較連續變量并可視化其大小。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Highcharts是一款純JavaScript編寫的圖表庫,為你的Web網站、Web應用程序提供直觀、交互式圖表。當前支持折線、曲線、區域、區域曲線圖、柱形圖、條形圖、餅圖、散點圖、角度測量圖、區域排列圖、區域曲線排列圖、柱形排列圖、極坐標圖等幾十種圖表類型。
箱形圖是一種非常好的圖表,可幫助快速可視化我們的數據點分布的形狀并檢測異常值。然而,箱形圖的解釋很容易混淆并誤導受眾。克服這一缺點的一種方法是將箱形圖與抖動相結合。
在本教程中,我們將向您展示如何通過組合箱形圖和抖動來創建有效的R可視化效果。
備注基本上,箱形圖僅在五個主要值中顯示大量點的統計數據:最大值,第三四分位數,中位數,第一四分位數和最小值。如果數據集有異常值,則箱形圖也會顯示它們。
下面的演示顯示了2012年奧運會運動員四個不同學科的高度:獨木舟,體操,曲棍球和現代五項:
這是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")
我們可以觀察到以下內容:
到目前為止,箱形圖使我們能夠以非常整潔和快速的可視化方式獲得一些統計信息和數據比較。但是,箱形圖未顯示圖表上的數據點。如果沒有數據點,圖表的解釋很容易誤導受眾,使其將盒圖的長度與數據點的大小聯系起來,或者兩個相似的盒圖大小會有相同的數據點數量等。換句話說,我們無法回答以下問題:
彌補箱形圖缺點的一種方法是增加抖動。添加到繪圖框中的抖動會顯示數據點的密度和大小。
這是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)))
毫無疑問,在可視化的項目中,獨木舟和曲棍球項目擁有最大數量的樣本,而現代五項擁有最小數量的樣本。盡管如此,體操和曲棍球項目的方框圖形狀幾乎相同。它們的數據點大小不同。添加抖動的另一個好優點是可以直觀地顯示每個規則的最大值,最小值和離群值的數量。
好吧,看來增加抖動有助于我們更好地理解數據集。但是,值得一提的是,抖動圖本身也有其缺點,但是與箱線圖的組合可從每個圖中獲得最佳效果,因為它們可以相互彌補缺陷。抖動圖將在另一篇文章中探討:)。
現在,您知道如何通過混合箱形圖和抖動來創建引人注目的交互式圖表。讓我們知道您使用這些圖表的經驗,并隨時在下面的部分中分享任何評論或問題。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: