在 Tableau 中建立顯示起點和終點之間的路徑的地圖
您可以在 Tableau Desktop 中建立地圖,以顯示起點和終點之間的路徑。這些類型的地圖稱為蜘蛛圖或起點-終點圖。
當您要使用中心連線到周圍的許多點時,非常適合使用蜘蛛圖。這些圖是顯示起點和一個或多個終點位置之間的路徑的絕佳方法。
可以透過多種方式在 Tableau 中建立蜘蛛圖。本主題使用兩個範例說明如何建立蜘蛛圖。請按照此主題中的範例瞭解如何設定資料來源並為兩個不同的蜘蛛圖組建檢視。
有關可能更適合您的資料的其他範例,請參閱 Tableau Public 上的以下工作簿:
Recruitment Strategies in the English Premier League(英超聯賽的招聘原則)(連結在新視窗開啟)
2014 U.S. Flight Departure Delays(2014 年美國航班起飛延誤情況)(連結在新視窗開啟)
注意:在以下範例中,資料來源具有每個具有唯一路徑識別碼且位於不同列的點。如果起點和終點資料在同一列,可以使用 MAKELINE 函數在兩個空間點之間產生線標記。請參閱使用 MAKELINE 建立視覺效果。
範例 1:法國巴黎地鐵車站交通量
設定資料來源
若要在 Tableau 中建立此類型的蜘蛛圖,您的資料來源應包括以下資訊:
- 每個唯一路徑的路徑 ID。有關詳情,請參閱以下[線路群組(路徑 ID)] 欄。
- 用於定義每個資料點(位置)的繪製順序的數位。有關詳情,請參閱以下[點順序] 欄。
- 每個位置的緯度和經度座標。請參閱以下的範例表格。
- 包含位置名稱的欄(推薦,但不是必需)。
下表是 Transports(交通)資料來源的一個片段,它包含在 Tableau Public 上的 [在 Tableau 中建立蜘蛛圖] 範例 1 工作簿(連結在新視窗開啟)中。它包含法國巴黎所有地鐵線的地鐵交通量資料。此範例中包括兩條地鐵線的前三個地鐵站,並且它包含所需的 [線路群組(路徑 ID)] 、 [點順序] 、 [緯度] 和 [經度] 欄。它還包含以下其他欄: [線路] 、 [車站] 和 [交通量] ,以便更加清晰和更有組織性,但組建地圖檢視不需要這些欄。
線 | 線路群組(路徑 ID) | 點順序 | Station | Latitude | Longitude | 流量 |
1 | 1 | 1 | 法國拉德芳斯區(新凱旋門) | 48.891934 | 2.237883 | 14,275,382 |
1 | 1 | 2 | 保防廣場 | 48.887843 | 2.250442 | 9,843,051 |
1 | 1 | 3 | 訥伊橋 | 48.884509 | 2.259892 | 6,902,931 |
10 BOUCLE | 10 | 1 | 布洛涅-讓-饒勒斯 | 48.842222 | 2.238836 | 3,847,782 |
10 BOUCLE | 10 | 2 | 奧特伊門 | 48.848074 | 2.258648 | 687,237 |
10 BOUCLE | 10 | 3 | 蜜雪兒-安熱-奧特伊 | 48.847740 | 2.264297 | 2,222,709 |
對於每個路徑,都存在已新增到該路徑的每個位置中的唯一鍵或字串。
在此範例中,[線路群組(路徑 ID)] 欄用於標識每個唯一路徑。您將使用此欄來建立蛛網圖。
例如,在上表中,存在兩條地鐵線(1 號線和 10 Boucle ),並且這些地鐵線中的每一條都具有 [線路群組(路徑 ID)] 欄中列出的唯一路徑 ID。對於 1 號地鐵線,線路群組為 1。對於 10 Boucle 地鐵線,線路群組為 10。線路一中的每個位置均包含線路群組 1,線路 10 Boucle 中的每個位置均包含線路群組 10。
此列定義點順序以及在地圖上從第一個資料點向最後一個資料點畫線的方向,在此範例中這兩個資料點是指地鐵線的起點和終點。如果路徑中有兩個以上的位置,則此欄位非常重要,因為它會按所需順序畫出路徑(您可以將其視為將點連線在一起)。
在上面的範例表中,線路 1 上有三個網站。[點順序] 欄中使用數位 1 到 3 按照從 [法國拉德芳斯區(新凱旋門)] 到 [訥伊橋] 的順序列出了這三個網站。線路 10 Boucle 也是如此。
基本地圖組件:
欄架: | 經度(連續度量,指派的經度地理角色) |
資料列架: | 緯度(連續度量,指派的緯度地理角色) |
詳細資料: | [路徑 ID] 欄位(離散維度) |
路徑: | [Order] (訂單)欄位(連續維度) |
標記類型: | 線 |
組建地圖檢視
若要按照此範例執行操作,請從 Tableau Public 中下載在 Tableau 中建立蜘蛛圖範例 1 工作簿(連結在新視窗開啟),然後在 Tableau Desktop 中將其開啟。
在在 Tableau 中建立蜘蛛圖範例工作簿中,按一下 [新建工作表] 圖示。
在新工作表中,從 [度量] 中將 [經度] 拖到 [欄] 架,並將 [緯度] 拖到 [列] 架。
從「資料」窗格中,將「線分組(路徑識別碼)」拖曳到「標記」卡上的「詳細資料」。
在 [標記] 卡上,按一下 [標記類型] 下拉清單,然後選取 [線] 。
此時會使用連線所有點的線來更新地圖檢視。[路徑] 按鈕應該會出現在 [標記] 卡上。
從「資料」窗格中,將「點的順序」拖曳到「標記」卡上的「路徑」。
[點順序] 會彙總為總計。
在 [標記] 卡上,以右鍵按一下 [SUM(Point Order)] 欄位,然後選取 [維度] 。
此時會用每條地鐵線的線條來更新地圖檢視。
從「資料」窗格中,將「線分組(路徑識別碼)」拖曳到「標記」卡上的「色彩」。
每條線現在都有自己的關聯色彩,並且色彩圖例會新增到檢視中。
從「資料」窗格中,將「經度」拖到「欄」架,並將其放在第一個「經度」欄位的右側。
列架上現在有兩個 [經度] 欄位。檢視會使用兩個相同的地圖進行更新。[標記] 卡會使用兩個索引標籤進行更新:一個索引標籤用於左側的地圖,一個索引標籤用於右側的地圖。您可以自訂每個索引標籤以變更每個地圖檢視的視覺詳細資料。有一個可同時在這兩個地圖中控制視覺詳細資料的 [全部] 索引標籤。
在「標記」卡上,點一下底部的 [AVG(Longitude)(2)] 索引標籤。
在 [標記] 卡上的 [AVG(Longitude)] 索引標籤下面,按一下 [標記類型] 下拉清單並選取 [自動] 。
右側的地圖檢視會更新為點陣圖。
在 [欄] 架上,以右鍵按一下第二個 [AVG (Longitude)] 欄位(在右側),並選取 [雙軸] 。
您的地圖檢視現在將以疊加的方式分層。
從「資料」窗格中將「流量」拖曳到底部 AVG (Longitude)「標記」卡的「大小」上。
資料點的大小會進行更新以顯示每個車站的交通量。
在 [標記] 卡上按一下 [大小] ,然後向右拖動滑塊。
在 [標記] 卡上,按一下 [色彩] ,然後在 [效果] 下面,按一下 [邊框] 下拉清單並選取色彩。
檢視現在已完成。您可以快速找到每個地鐵線上交通量最大的車站。
篩選檢視中的資訊量
如果想要篩選檢視中顯示的線路數:
從「資料」窗格中,將「線分組」拖曳到「篩選器」架。
您也可以以右鍵點一下「線分組」欄位並選取「顯示篩選器」以在檢視中顯示篩選器卡。
範例 2:西雅圖、華盛頓中的自行車共用資料
設定資料來源
與第一個範例類似,對於此類型的蜘蛛圖,您的資料來源應包含以下資訊:
- 每個唯一路徑的路徑 ID。有關詳情,請參閱以下[路徑 ID] 欄。
- 每個位置的緯度和經度座標。請參閱以下的範例表格。
- 每個路徑的資料來源中有兩列。您應該為每個路徑複製一列起點位置資料和一列終點位置資料。這是一個使 Tableau 能夠正確繪製您的路徑的關鍵性步驟。有關詳情,請參閱以下起點-終點列。
- 包含位置名稱的欄(推薦,但不是必需)。
此範例是 Seattle bike share(西雅圖自行車共用)資料來源的一個片段,它包含在在 Tableau 中建立蜘蛛圖範例 2 工作簿(連結在新視窗開啟)中。它具有 [起點-終點] 、 [車站] 、 [路徑 ID] 、 [緯度] 和 [經度] 欄。建立一個蜘蛛圖只需要此資料來源中的最後三個列,但是 [起點-終點] 和 [位置名稱] 欄能夠增加清晰度和組織性。
Origin-Destination | Station | Path ID | Latitude | Longitude |
Origin | BT-01 | BT-01_BT-01 | 47.61841 | -122.35101 |
目的地 | BT-01 | BT-01_BT-01 | 47.61841 | -122.35101 |
Origin | BT-01 | BT-01_BT-03 | 47.61841 | -122.35101 |
目的地 | BT-03 | BT-01_BT-03 | 47.61576 | -122.34843 |
Origin | BT-01 | BT-01_BT-04 | 47.61841 | -122.35101 |
目的地 | BT-04 | BT-01_BT-04 | 47.61613 | -122.34108 |
Origin | BT-01 | BT-01_BT-05 | 47.61841 | -122.35101 |
目的地 | BT-05 | BT-01_BT-05 | 47.61303 | -122.34410 |
對於要建立的每個唯一路徑,資料來源中都需要一個起點位置列和一個終點位置列。這意味著您的起點位置將與每個終點位置配對。
例如,在顯示城市中的自行車共用起點位置和多個終點位置之間的路徑時,每個單一路徑都需要一個起點位置列和一個終點位置列。
在上面的範例中,起點站 BT-01 與若干不同的終點位置(BT-01、BT-03、BT-04、BT-05)配對,以表明自行車從 BT-01 地點借出並歸還到相同地點或不同地點。每個起點-終點對都採用了色彩編碼以表明它們構成了一條路徑。[起點-終點] 欄進一步說明了此概念,但此欄不是必需的。
[路徑 ID] 欄用於標識每個唯一的起點-終點路徑。您將使用此欄來建立蛛網圖。
對於每個起點和終點位置,都有唯一的鍵或字串,用於將它們標識為一對。
在以下範例中,對於第一條起點-終點路徑, [路徑 ID] 為 BT-01_BT-01。對於第二條起點-終點路徑, [路徑 ID] 為 BT-01_BT-03。每個路徑 ID 都列出了兩次,一次為起點位置列出,一次為終點位置列出。而且,每個對都進行了色彩編碼以表明它們構成了一條路徑。
Origin-Destination | 位置名稱 | Path ID | Latitude | Longitude |
Origin | BT-01 | BT-01_BT-01 | 47.61841 | -122.35101 |
目的地 | BT-01 | BT-01_BT-01 | 47.61841 | -122.35101 |
Origin | BT-01 | BT-01_BT-03 | 47.61841 | -122.35101 |
目的地 | BT-03 | BT-01_BT-03 | 47.61576 | -122.34843 |
附註:您的路徑 ID 可以是您想要的一切。但是,如果想要建立複雜的計算欄位以幫助以後篩選位置,那麼當您的路徑 ID 在所有路徑中都一致的情況下,這很有用。執行此操作的一個好方法是建立由分隔符號分隔的起點和終點位置名稱組合而成的路徑 ID。例如,起點位置 BT-01 和終點位置 BT-03 的 [路徑 ID] 是 BT-01_BT-03。有關您可能希望執行此操作的原因的範例,請參閱 選項 2:建立動態篩選器:部分。
基本地圖組件:
欄架: | 經度(連續度量,指派的經度地理角色) |
資料列架: | 緯度(連續度量,指派的緯度地理角色) |
詳細資料: | [路徑 ID] 欄位(離散維度) |
標記類型: | 線 |
組建地圖檢視
設定資料來源後,可以在 Tableau Desktop 中連線到該資料來源並組建一個蜘蛛圖。若要按照此範例執行操作,請從 Tableau Public 中下載 [在 Tableau 中建立蜘蛛圖] 範例 2 工作簿(連結在新視窗開啟)。
從「資料」窗格中,將「經度」拖曳到「欄」架,並將「緯度」拖曳到「列」架。
在 [欄] 架上,以右鍵按一下 [經度] 欄位,並選取 [維度] 。在 [列] 架上對 [緯度] 欄位執行相同的操作。
這將確保 Tableau 不會彙總您的起點和終點位置。
在 [標記] 卡上,按一下 [標記類型] 下拉清單,然後選取 [線] 。檢視會進行更新以顯示連線每個資料點的線, [標記] 卡使用 [路徑] 按鈕進行更新。
從「資料」窗格中,將「路徑識別碼」拖曳到「標記」卡上的「詳細資訊」。
您應該會在地圖上看到資料點形式的資料來源中的所有位置。在此範例中,資料來源中的每個自行車共用位置都有一個資料點。
如果您只有幾個起點-終點對,則您的檢視可能如下所示:
但是,如果您有許多起點-終點對,則您的檢視可能看起來更像下面這樣:
這是非常常見的情況,可以透過從檢視中篩選大部分路徑來修復。請轉到以下部分繼續,以瞭解執行此操作的幾種方法。
篩選檢視中的資訊量
如果您的資料來源包含許多起點-終點對,則您可以從檢視中篩選其中大部分對。
選項 1:建立一個簡單的篩選器:
從「資料」窗格中,將「路徑識別碼」拖曳到「篩選器」架。
在開啟的 [篩選器] 對話方塊中,執行以下操作:
在 [常規] 索引標籤下,選取 [無] 。
按一下 [萬用字元] 索引標籤。
在 [萬用字元] 索引標籤下,為 [相符值] 輸入 BT-01,然後按一下 [開頭為] 。
按一下 [OK] (確定)。
這會篩選檢視以僅顯示以 BT-01 開頭的路徑。
您也可以建立計算欄位,並將其與參數合併,以便您可以在想要直接在檢視中查看的路徑之間切換。執行下面的步驟以瞭解如何操作。
步驟 1:建立參數
在「資料」窗格上,點一下「資料」窗格下拉式清單,然後選取「建立參數」。
在 [建立參數] 對話方塊中,執行以下操作:
將參數命名為 [StationSelected] 。
對於 [資料類型] ,選取 [字串]
對於 [允許的值] ,按一下 [清單] ,選取 [從欄位中新增] ,然後選取 [位置名稱] 欄位。
按一下 [OK] (確定)。
步驟 2:建立計算欄位
選取 [分析] > [建立計算欄位]。
在計算編輯器中,將計算欄位命名為 [Select by Origin-Destination] (按起點-終點進行選取),然後輸入以下公式:
IF
LEFT([Path ID], FIND([Path ID], "_") -1) = [StationSelected] THEN "Origin"
ELSEIF
RIGHT([Path ID], LEN([Path ID]) - FIND([Path ID], "_")) = [StationSelected] THEN "Destination"
ELSE
"Unselected stations"
END在上表中,每個路徑 ID(例如 BT-01_BT-03)都包含底線 (_) 作為分隔符號,用於將起點位置名稱 (BT-01) 與終點位置名稱 (BT-03) 隔開。此分隔符號在公式中用於告訴 Tableau 哪些位置(已在此過程的步驟 1 中建立的參數中進行了選取)是起點位置,哪些是終點位置。此公式中也使用了您在上面建立的參數 (StationSelected)。
檢查計算是否有效,然後按一下 [確定] 。
步驟 3:將此計算欄位新增至 [篩選器] 架
從「資料」窗格中,將已計算欄位拖曳至「篩選器」架。
在 [篩選器] 對話方塊中,選取 [起點] ,然後按一下 [確定] 。
步驟 4:顯示參數控制項
在「資料」窗格中,右鍵點一下建立的參數,然後選取「顯示參數控制」。
現在,您可以從檢視內的參數控制項中選取起點,地圖檢視上的標記將會進行更新。
另請參閱:
Tableau 社群貼文:起點-終點地圖(或流線圖)(連結在新視窗開啟)