在JSM 2019,我正在參加一個會議動態交互式數據可視化. 當我第一次受會議主席 Blanton Godfrey 邀請做演講時,我的第一個想法是,“當然,JMP 有很多動態和交互式數據可視化。”但很快又轉過一個念頭,“那到底是什麼意思? 現在一切都是互動的。”
這讓我走上了嘗試對不同的交互方法進行分類的道路。 崇高的目標是幫助定義數據可視化交互性的分類,這將有助於比較產品或討論個別實施。 在最初的努力中,我對九種技術進行了分類,並附有內部交互的示例視頻JMP .
- 圖構建
- 選擇鏈接
- 行過濾
- 懸停細節
- 模型調整
- 美學映射
- 列切換
- 卷切片
- 軸縮放
我在整個示例視頻中使用相同的數據集。 它包含美國 3,000 多個縣的 60 多列人口統計、經濟和選舉數據。 現在介紹方法!
圖構建
交互式圖形構建意味著使用即時視圖更新來構建或重構圖形。 在 JMP 中,相互作用直接出現在表面上。 其他實現仍然可以與圖形旁邊的拖放區交互。
該視頻強調了幾個挑戰。 當添加第二個 Y 變量“Rep Pct”時,Y 下降區比以前更多,因此我們可以指定相對於現有 Y 變量的放置位置。 Color 和 Size 拖放區是人為的,因為它們與 X 和 Y 軸變量的自然位置不同。
這個結尾圖表很像紐約時報文章標題為“最保守的縣是獲得最多政府援助的縣”。有一些推特上的討論關於回歸線和其他特徵。 這促使我自己收集和探索數據(經濟分析局和托尼麥戈文的選舉結果). 當我意識到我在探索過程中使用了多少交互方法時,我認為這將成為一個合適的演示數據集。
選擇鏈接
當有多個視圖使用同一個數據表時,選擇鏈接意味著在一個視圖中突出顯示的元素在其他視圖中突出顯示其對應的元素。 在 JMP 中,選擇鏈接一直處於打開狀態,這意味著即使有數百萬行,它也必須很快。 為了實現這一點,選擇被作為每個數據表的核心部分。
最大的挑戰是當圖形元素之間沒有一對一的對應關係時,例如示例中的縣級點和州級形狀。 以清晰的方式顯示任何圖形類型的部分選擇是一個開放的挑戰。 對於地圖,當在別處選擇任何縣時,JMP 會突出顯示整個州的形狀。 對於按計數確定大小的圖表元素,例如直方圖條,JMP 將使用部分突出顯示來反映部分選擇。
行過濾
行過濾是最常見的數據可視化交互類型之一。 這個想法是可視化只使用數據表行的一個子集,基於出現在視覺旁邊的過濾器的約束。
我在視頻中使用了一個名為“鎖定比例”的選項,以在過濾時保持坐標軸固定。 否則,它們將針對每個過濾後的子集進行調整。
懸停細節
一種被動的交互方式是將鼠標懸停在圖形元素上,然後會出現一個包含更多細節的浮動窗口。 有時這些被稱為“工具提示”,因為它們最初用於工具欄圖標。 在數據可視化中,懸停細節是一種顯示圖表變量更精確值以及其他相關變量的方法。
在該示例中,請注意縣名包含在散點圖的懸停詳細信息中,即使該變量不在圖表中也是如此。 那是因為數據表中的變量標有一個屬性,導致它默認出現在所有懸停詳細信息中。
模型調整
模型調整意味著視覺表示隨著模型參數的變化而變化。 在示例中,模型是樣條平滑器,模型參數是剛度參數 lambda。
雖然許多模型對於這種交互式調整來說太慢了,但計算機的速度足以完成比我們通常意識到的更多的事情。 這個看起來簡單的模型有很多事情要做。 有四個獨立的平滑器,每個平滑器都有 250 倍的自舉置信區間,因此每次剛度參數變化時都會擬合 1,000 個樣條模型。
美學映射
將美學屬性映射到圖形元素是一種簡單但重要的交互。 對於美學,例如顏色和線條樣式,您通常需要查看它才能知道它的效果如何。
簡單的屬性可以通過右鍵單擊來更改,而更複雜的屬性(例如漸變顏色映射)需要設置對話框,因此交互性較低。
列切換
在列切換中,您將一個或多個數據列替換為一組中的另一列。 此處,Y 變量被左側面板中的列一一替換。
列切換是快速瀏覽新數據集的好方法。
卷切片
體積切片是一種通過繪製一組二維切片來探索多維數據空間的方法。 這剖析器在 JMP 中使用切片來探索多維模型。 在此示例中,我們針對三個因素(個人收入、個人轉移和選票率)在 Y 上對 Rep Pct 進行建模,從而生成四維表面。 每幀顯示一個 X 的切片,而其他 X 保持固定。
Personal Transfer 似乎沒有什麼影響(至少在這個切片中它主要是一條平線),但是當我們與它交互並更改其他框架使用的固定值時,我們看到與 Personal Income 的交互。 個人收入對於高個人轉移具有鬆散的正斜率,對於低個人轉移值具有強負斜率。
軸縮放
比例尺定義了數據值如何映射到屏幕坐標,並且它本身可視化為一個軸。 軸縮放交互是通過直接操縱軸來更改映射的能力。 交互包括平移、拉伸和縮放。
軸縮放並不總是只是在不同位置重新繪製元素的問題。 請注意,右側的點圖必須針對新比例調整其標記躲避佈局,並且軸本身有時必須重新計算諸如刻度線間隔之類的東西。 在案例或地理可視化中,根據比例切換投影甚至很有用。
對於 JMP,區域尺度使用阿爾伯斯等面積投影,世界尺度使用卡夫賴斯基七世妥協投影。
更多互動?
鑑於這九種數據可視化交互方式,我們可以更好地思考進一步的問題:
- 還有哪些通用的交互方式在數據可視化中有用? 我說的是“通用”方法,因為我認為針對特定類型圖形的專業交互的數量沒有限制。 例如,JMP 有一種交互式更改直方圖 bin 大小的方法,我沒有將其作為一般方法包含在此處。
- 這些方法中的一些是否應該拆分成多個方法? 也許卷切片對於數據探索和模型探索是不同的。 我正在考慮將交互式圖形大小調整作為一種軸縮放,但也許值得擁有自己的類別。
- 這些方法中的一些是否應該組合為同一方法的變體? 也許行過濾和列切換是更大的子集交互的兩個變體。
- 這些方法是否有更好的名稱,無論是已有的還是新的? 其中一些名稱來自 JMP 術語,一些是我自己為本次討論發明的。
- 是否應該識別每種方法的不同級別? 例如,我們是否應該區分有或沒有實時預覽的圖形構建。
我希望在這裡、JSM 或 Twitter 上聽到關於這些問題和其他問題的反饋。
我從來沒有真正想過有多少種不同的方式可以與 JMP 交互。 這真的很了不起,尤其是考慮到您強調的所有復雜挑戰時。 一如既往的好帖子。 謝謝,珊。