<b>2.8 互動式可視化</b>
<b></b>
可視化之是以被認為是可互動的,是因為它必須滿足兩個标準:
人為輸入:某些資訊視覺呈現方面的控制必須可為人所用
響應時間:人為的改變必須及時的納入可視化
當有大量資料進行可視化處理時,即便用現在的技術也很不容易,有時甚至不可能實作;是以,“互動式可視化”通常被應用到系統中。該系統在完成輸入的幾秒内就可以向使用者提供回報。很多互動式可視化系統支援一種類導航,類似于穿越物質世界的導航。
互動式的好處在于人們在較短時間内可以探索較大的資訊空間。這一點可以通過一個平台得到很好的了解。而不足之處在于這種互動性需要大量時間詳細檢查每一種可能性以測試可視化系統。而且,設計及時回報使用者行為的系統需要關注顯著有效的算法。
任何可視化方法都需要好的布局設計方案。一些設計方法自動生成對稱圖形;另外一些畫圖方法從資料對稱性開始。互動式可視化通過事件監聽器來實作。對于一些事件監聽器,互動式可視化可能是一種常識,而對于其他事件監聽器來說,未必如此。下節描述了所有相關内容。
2.8.1 事件監聽器
事件監聽器是移動或點選滑鼠即可實作的處理過程。技術上,有很多種事件,但純粹的互動式可視化,我們僅需要了解當使用者用滑鼠浏覽可視化時發生的情況。互動的等待時間,即系統對滑鼠操作的響應時間,會非常有影響。
最顯著的原則是:使用者應該确定已完成一些操作,而不是懸而未決該操作是否仍在進行中。是以,諸如突出顯示一個選項的回報是一種成功确認操作完成的好方法。視覺回報通常應該在大概一秒的立即響應滞後時間内發生。下面是google圖表中一個javascript事件監聽器的案例:
另一個原則是執行時間是否比使用者的自然預期長很多,一些進度名額應顯示給使用者。在javascript中寫事件監聽器更容易,但如果想用python繪圖方法建立一個互動式可視化,應該選擇plotly。
另一種子產品,graph-tool(https://graph-tool.skewed.de),能夠以一種直接的方式完成動畫。在一個互動式視窗或畫面外的檔案,用gtk+來展示動畫。這種想法很容易實作可視化,在網站上加以呈現和嵌入。
2.8.2 布局設計
為了從視覺上有效展示資料,了解布局設計方法就變得很重要。美學是測度布局算法的優勢與不足的标準之一。如果可能的話,為了增加布局結果的可讀性,所述結構需要層次或對稱;一條關鍵的因素是對空間的利用。
對解析和了解任何圖表來說,良好的布局是必要的。通常,為了便于了解,每一種布局唯一适用于不同的資料可視化。一些著名的布局設計方法如下:
圓形布局
徑向布局
球狀布局
1. 圓形布局
表格是資料的自然容器。無論資訊何時呈現,用一個表的均值來展現表格的幾率很高。然而,在很多情況下,當資訊複雜(表格很大)時,表格很難用肉眼分析,表格資料模型仍然不夠透明。
換句話說,一種有用的容器不總是呈現方法的有用方法。該表格很好得展示出單個資料,但是它們間的關系以及它們組成的模式仍然難以看到。圓形布局會用一些不同的結合(定性和定量)來實作可視化,如下圖所示:
例如,如上圖一樣直覺,用有限的空間展示複雜關系。
上圖給出一個用圓形布局展示複雜分層關系的案例。
2. 徑向布局
旭日可視化是一種徑向空間填充的可視化技術,來展示樹狀結構(如上圖所示)。還有其他的空間填充方法,即用其他視覺編碼來描述層次。比如,樹形圖是空間填充的可視化,用到“容量”來展示“父子”關系。有一些微弱的變化,可以改善這種可視化的資訊交流方式。
由于每個軌道的長度随半徑增加,這趨向于有更多空間放置節點。随着水準的增加,徑向樹将在更大面積上擴散更多數量的節點。
3. 球狀布局
球狀布局存在不同的變化,而且其中一種可能是氣泡形式。然而,如果我們用不同顔色和大小的氣球(或者圓圈/氣泡),則可視化結果能展示更多資訊,如下圖所示: