部落格:流入流出平行圖 - 使用 JMP 圖形產生器追蹤您的預算流量
傑德坎貝爾和斯科特懷斯
02/02/23

平行(或平行座標)圖是一種眾所周知的圖形,可以對大量高維度資料進行視覺化分析。 平行圖是顯示資料內關係的好方法,因為它們跨兩個或多個變數連續連接。 該圖的一個有用的應用是直觀地查看跨專案或個人預算的支出流程。 下面顯示的是 JMP 圖形產生器並行圖,顯示了 101,000 美元的初始總預算的流出。 由於每行分組的大小是根據總金額確定的,因此很容易看出支出流出如何按類別和子類別從右向左分支。 例如,流出 1 中總儲蓄(20,000 美元)的最大支出是流出 2 中的 401K 計劃(12,000 美元)。
如果除了流出之外,我們還想在平行圖中看到總預算的流入,該怎麼辦? 這給大多數平行圖帶來了真正的挑戰,因為它們假設只有從左到右的單向流。 在我們的例子中,我們確實需要兩個流,一個用於流入總量,然後啟動另一個流來顯示流出。 幸運的是,JMP 圖形產生器並行圖有一個名為「組合集」的選項,它可以讓我們重新啟動圖形中的流程。
首先我們從資料表的設定開始。我們的第一個連續列「Amt」給出了資料中每行的結束流量,這將幫助我們調整圖表的大小。 其餘的列都是分類的,為我們提供了對總預算的貢獻(“流入”),總預算的列(僅給出了一個小標記“_”),然後我們以最後兩個支出列結束( 「流出 1」和「流出 2」)。 請注意,我們也將每個列類別金額合併到流標籤中。 該數據表稱為“預算績效”,可以在文章末尾的 JMP 公共共享連結中下載(帶有圖形腳本)。

現在我們準備在圖形生成器中建立所謂的流入流出並行圖。 逐步說明:
- 步驟1)開啟數據表“預算績效”
- 步驟 2) 開啟圖形產生器並開始填滿視圖
- 將「流入」、「_」、「流出 1」和「流出 2」放在 X 軸上
- 將“Amt”放在尺寸著陸區上
- 將「Outflow 1」放在顏色著陸區上
- 步驟 3) 在頂部圖形圖示面板選單上,選擇平行圖
- 步驟4)在左下方平行元素選項中:
- 步驟 5) 右鍵點選 Y 軸 -> 軸設定
- 第 6 步)繪製平行圖
- 步驟 7) 在左上角,選擇完成以關閉圖形產生器控制面板
圖表格式(可選)
- 步驟8)在傳說中
- 步驟 9) 在圖形產生器紅色三角形下
- 步驟 10) 給圖表一個更好的標題(「預算績效」)
- 步驟 11) 右鍵點選 Z 軸並新增透明參考線以突出顯示流動起始邊緣
- 在值 0.01、1.01、2.01 和 3.01 處新增參考線
- 將參考線著色為淺灰色並降低至 50% 透明度
- 使線條樣式 = 10
現在我們可以看到完整的流入流出平行圖。 透過在步驟 4 中選擇組合集選項,我們可以看到總預算中的貢獻,但隨後重新啟動流程以顯示來自相同區域的流出。 透過「Amt」欄位調整大小,我們可以按美元適當調整圖表中的流分組大小,這樣我們就可以看到與其他兩個傳入來源相比的巨大貢獻,例如作業(9 萬美元)。 此外,透過「流出 1」著色可以讓我們更輕鬆地追蹤總預算的流出。

互動式點擊圖表的汽車(11,000 美元)支出部分可以幫助我們進一步追蹤流出。 因此,對於汽車的初始流出,我們可以看到它如何分解為汽車:維護(1000 美元)、汽車:汽油(2000 美元)和汽車:汽車付款(8000 美元)。

因此,現在當您想要繪製自己的財務或專案預算圖表時,您可以使用 JMP Graph Builder 中的流入流出平行圖以互動方式視覺化我們的流量!下載附件以使用嵌入式腳本進行練習。另外,請參閱以下 JMP 公共鏈接,在此處與流入流出(流)並行圖進行互動。
感謝您分享追蹤流程的技巧!我遇到了一個難題,就是如何為流程 1 和流程 2 及以後的條目分配相同的顏色。所以,從您的範例來看,如果每個流程中的條目位於同一軌道,我們需要為每個條目添加帶有“:”的“類別名稱”。這樣對嗎?
@qunw我正在抄送@scwise ,以便他能及時看到:感謝您分享追蹤流程的技巧!我遇到了一個難題,就是如何在流程1和流程2及以後為同一個項目分配相同的顏色。所以,從您的範例來看,如果每個流程中的項目位於同一軌道,我們需要為每個項目添加一個帶有“:”的“類別名稱”。這樣對嗎?
@qunw “:”確保排序,顏色不應該改變,因為流出 1 設定為顏色。

如果您想要取得不同的顏色,您可能需要使用 Value Color Property。 @scwise可能會增加他的想法的排序和著色。
為了更精確地排序,預設按字母順序排序,A 在底部,Z 在頂部。如果您使用“:”選項,則可以確保排序符合層級順序。您可以強制 Ecolumn 屬性中的值順序,但如果您需要視覺化多個流程,這可能會更加困難,因為由於層級結構,順序可能並非最佳。
非常感謝您的詳細說明!我用我的日期集試了一下這個技巧,成功了!唯一的缺點是它需要對資料集進行一些預處理,因為同一類別會在後續的流出資料中被追蹤。