Data-Visualization

“河圖”可視化的正確名稱是什麼[重複]

  • February 19, 2014

在一個著名的情節中,查爾斯·米納德(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 移民流動地圖中的位置。

引用自:https://stats.stackexchange.com/questions/87132

comments powered by Disqus

相關問答