馬賽克圖常用於展示屬性數據的各分類數量關係,尤其善於展示高階列聯表數據。一個典型的例子是採用R內的Titanic 包展示鐵達尼號倖存者,代碼如下:
library(vcd)
library(MASS)
ftable(Titanic)
library(vcd)
mosaic(Titanic)
按照船艙等級、年齡層及性別展示鐵達尼號沉沒後的倖存者情況。根據左側坐標軸所示,從上至下分為1st艙、2nd艙、3rd艙及船員人數,根據右側坐標軸所示,每一個等級的艙再次分為成人或兒童;根據上側坐標軸所示,從左至右分別展示男性和女性人數,根據下側坐標軸所示,每個性別人數再次分為倖存,或沒有倖存。如下圖所示,女性的倖存率高於男性,尤其是在頭等艙和2 nd艙,而在3rd艙中女性倖存比例遠低於其他艙的比例;兒童主要位於2nd艙及3rd艙,且1st艙、2nd艙的兒童幾乎均倖存。關注每個矩形的相對寬度和高度,可以發現更多有趣信息。
本期公眾號介紹馬賽克圖的一種在專利數據可視化中的應用。下圖為採用百分比條形圖展示某領域不同國家的技術手段分布情況。
如果希望同時展示不同國家的在該領域的申請總量,則可通過調整百分比條形圖的條的高度展示。採用帶有申請人國別代碼及技術手段的Excel或CSV文件作為輸入文件
採用R篩選申請人國別為"德國","韓國","美國","日本","中國"並繪製該馬賽克圖的程序如下(可以採用改變fill = rev(grey.colors(2))改變顏色,參見作圖詳解 | 採用R繪製弦圖):
library(vcd)
library(MASS)
mosaic_IP <- read_excel("Documents/R/mosaic.xlsx")
mosaic_IP_cut <- subset(mosaic_IP,申請人國別代碼%in% c("德國","韓國","美國","日本","中國"))
mosaic_IP_size <- table(mosaic_IP_cut$申請人國別代碼,mosaic_IP_cut$技術手段一級分支)
mosaic_IP_size
dimnames(mosaic_IP_size) =list(Top5offices=c("DE","KR","US","JP","CN"),Techs=c("T1","T2", "T3", "T4", "T5","T6"))
mosaic(mosaic_IP_size, gp = gpar(fill = rev(grey.colors(2))))
猜你喜歡
[圖表介紹]千變萬化條形圖(第一輯)
[圖表介紹]千變萬化條形圖(第二輯)
作圖詳解 | 採用R繪製弦圖
作圖詳解 | 採用R繪製堆疊玫瑰圖及堆疊環狀條形圖
保護版權人人有責
小編心血,拒絕盜圖,如需轉載,後臺聯繫
·↑長按識別二維碼關注 ↑·
微信號:專利分析可視化