堆疊策略
基於 D3 堆疊順序 和 堆疊偏移,您可以修改序列的堆疊方式。
若要傳遞這些屬性,請使用序列屬性 stackOffset
(長條圖預設為 'diverging'
,折線圖預設為 'none'
)和 stackOrder
(預設為 'none'
)。您可以僅為堆疊群組的其中一個序列定義它們。
堆疊偏移
如果您只想堆疊數值,則將 stackOffset
設定為 'none'
應該可以完成工作。
但是,對於負值,您應該使用 'diverging'
。否則,堆疊的矩形將會重疊。
若要顯示相對於其他堆疊序列的序列演變(而不是它們的絕對值),您可以使用 'expand'
。
數值 | 描述 |
---|---|
'none' |
將基準線設定為 0,並將資料堆疊在彼此之上。 |
'expand' |
將基準線設定為零,並縮放資料以在 1 結束。 |
'diverging' |
將正值堆疊在零以上,負值堆疊在零以下。 |
下一個示範允許測試不同的 stackOffset
值。
若要查看它們如何與包含負值的資料集互動,您可以切換「資料具有負值」開關。當開啟時,序列將具有以下組成
- 序列 A 僅具有正值。
- 序列 B 具有一個負值。
- 序列 C 和 D 僅具有負值。
堆疊順序
堆疊資料的順序對於圖表的讀取很重要。底部序列的演變最容易讀取,因為其基準線為 0。
如果您知道您正在顯示的資料,則可以使用 'none'
,它會尊重您在其中定義序列的順序。否則,根據其屬性對它們進行排序可能會很有趣。
使用 'appearance'
,會考慮最大序列值的位置。
使用 'ascending'
和 'descending'
,會考慮數值的總和。這對應於序列在圖表上佔據的區域。
數值 | 描述 |
---|---|
'none' |
尊重序列提供的順序。 |
'reverse' |
反轉序列提供的順序。 |
'appearance' |
根據其最大值的索引,按升序對序列進行排序。最大值最早的序列將在底部。 |
'ascending' |
根據其數值的總和,按升序對序列進行排序。表面積最小的序列將在底部 |
'descending' |
根據其數值的總和,按降序對序列進行排序。表面積最大的序列將在底部 |
為了試驗堆疊順序,以下是關於根據住家和辦公室之間的距離,使用何種交通工具上班的統計資料。
使用 'appearance'
順序,步行將是第一個,因為其最大百分比是針對 0-1 公里。而最後一個是大眾運輸,因為其最大值位於 >50 公里距離。
使用 'ascending'
順序,堆疊從自行車和摩托車開始,因為它們的值分別總計為 41.7 和 55.4。然後是步行(數值總計為 94.1)。最後,是大眾運輸和汽車,它們在視覺上更重要。
'descending'
順序則完全相反。