Data-Visualization
“河圖”可視化的正確名稱是什麼[重複]
在一個著名的情節中,查爾斯·米納德(Charles Minard)形象化了法國軍隊在拿破崙的俄國戰役中的損失:
(另一個很好的例子是這個xkcd 圖)
這種類型的可視化是否有一個規範的名稱?我實際上正在尋找一個 R 包來創建這樣的圖,但我什至不知道如何尋找它。
編輯:
由於我在 R 中找不到一個好的包來做這種類型的地塊,我創建了自己的包,稱為“riverplot”——你可以從 CRAN下載它。這是上圖的簡化版本:
以及可以使用包創建其他圖表的示例:
這是一張地圖,因此製圖師可能會將其稱為專題地圖(與地形圖相反)。許多統計圖表具有唯一名稱(例如條形圖、散點圖、點圖)而不是僅僅描述其內容這一事實有時會成為障礙。兩者都是因為並非所有內容都被命名(就像這裡的情況一樣),並且相同的名稱可以指代不同類型的顯示(dotplot是一個很好的例子)。
在*圖形語法中,威爾金森將圖形描述為顯示在特定坐標系中的幾何元素。*在這裡,他將拿破崙的行軍稱為路徑元素,其寬度代表軍隊的數量。在此示例中,路徑是在笛卡爾坐標系中繪製的,其點代表歐洲的實際位置。這些點連接起來代表拿破崙和他的軍隊所走的旅程,儘管它可能並不完全追踪旅程(開始時更寬的元素也不意味著軍隊在路上佔據了更多的空間!)
有許多不同的軟件程序能夠繪製這種類型的圖表。Michael Friendly 有一整頁的例子。下面是一個使用 R 中的包的稍微修改的示例
ggplot2
(正如您在 R 中請求的示例),儘管它當然可以在基本圖形中復制。mydir <- "your directory here" setwd(mydir) library(ggplot2) troops <- read.table("troops.txt", header=T) #data is from Friendly link cities <- read.table("cities.txt", header=T) #http://www.datavis.ca/gallery/minard/ggplot2/ggplot2-minard-gallery.zip temps <- read.table("temps.txt", header=T) temps$date <- as.Date(strptime(temps$date,"%d%b%Y")) xlim <- scale_x_continuous(limits = c(24, 39)) p <- ggplot(cities, aes(x = long, y = lat)) + geom_path( aes(size = survivors, colour = direction, group = group), data=troops, linejoin = "round", lineend = "round" ) + geom_point() + geom_text(aes(label = city), hjust=0, vjust=1, size=4) + scale_size(range = c(1, 10)) + scale_colour_manual(values = c("grey50","red")) + xlim + coord_fixed(ratio = 1) p ggsave(file = "march.png", width=16, height=4)
以下是一些與原版不同的地方:
- 我沒有在圖的底部顯示溫度圖。在
ggplot2
您可以製作單獨的圖表時,您不能在單獨的圖表窗口中繪製線條。- Minard 的原始圖表顯示了城市之間的路徑逐漸減少。該圖沒有插入這樣的損失,並顯示了城市之間的突然變化。(部隊規模取自我相信與軍隊一起旅行的醫生的日記)
- 這張圖顯示了當代城市的確切位置,米納德傾向於稍微彎曲空間以使圖更好看。一個更明顯的例子是英格蘭在Minards 移民流動地圖中的位置。