举个栗子~Tableau 技巧(244):用和弦图(Chord diagram)呈现数据关系
關于和弦圖
和弦圖(Chord diagram)常用來表示數(shù)據(jù)之間的相互關系。數(shù)據(jù)點沿著圓圈分布,通過點和點之間相互連接的弧線來呈現(xiàn)相互之間的關系。和弦圖從視覺上來說比較美觀,數(shù)據(jù)呈現(xiàn)又很直觀,所以深受數(shù)據(jù)粉喜愛。
之前,我們分享過 🌰:輕松搞定 關系網(wǎng) 圖表,如果數(shù)據(jù)粉希望換一種方式呈現(xiàn)數(shù)據(jù)關系,可以考慮和弦圖哦~
關系和弦圖的實現(xiàn)方法會相對復雜一些,因此我們用一份容易理解的電影角色關系數(shù)據(jù)(如下示例),來分享它的實現(xiàn)方法!
本期的栗子,一睹為快吧!
本期《舉個栗子》,我們要給大家分享的 Tableau 技巧是:用和弦圖(Chord diagram)呈現(xiàn)數(shù)據(jù)關系。
為方便學習,栗子使用自擬的“人物關系和弦圖”數(shù)據(jù)源。掌握栗子方法后,數(shù)據(jù)粉可嘗試使用自己的數(shù)據(jù)源。懶癌患者可通過以下鏈接獲取栗子數(shù)據(jù)源:
https://www.dkmeco.com/cms/course/detail/645
D-栗子數(shù)據(jù)源
▲ sheet 1
-
角色 ID:用于識別角色的唯一 ID,同一人物 角色 ID 和關系人 ID 相同;
-
關系人 ID:用于識別關系人的唯一 ID,同一人物 角色 ID 和關系人 ID 相同;
-
主要關系類型:對角色和關系人的關系的離散分類;
-
關系描述:對角色和關系人的關系的文字描述,缺失此字段不影響圖形展示;
-
連接:lonely moon 表和 repetition 表內(nèi)連的字段,相同即可。
sheet 2 ▲
-
R:范圍從 0.01~1 共計 100 個數(shù),以及單獨的 2。此字段的目的為了在 Tableau 連接兩個表,將 lonely moon 的數(shù)據(jù)重復 101 遍;
-
連接:與 lonely moon 的連接相同,都為1,方便“內(nèi)連接”。
Tips:所有的人物 ID 都需要有一行角色 ID,即使該人物 ID沒有對應的關系人 ID,例如:孫光陽;雖然關系是相互的,但是在數(shù)據(jù)中,若已經(jīng)有了金剛鼠->孫光陽的關系,即可不必補充孫光陽->金剛鼠的關系。
具體步驟如下:
連接數(shù)據(jù)源
打開 Tableau Desktop,連接栗子數(shù)據(jù)源,將兩個表 “l(fā)onely moon” 和 “Repetition” 通過內(nèi)聯(lián)接在一起。
創(chuàng)建參數(shù)
新建工作表,單擊“數(shù)據(jù)”窗格右上角 ▼ 符號,在下拉菜單中選擇:創(chuàng)建參數(shù)。
? 創(chuàng)建參數(shù):distance,用于調(diào)整人物圖和關系線之間的距離,如圖設置。
? 創(chuàng)建參數(shù):突出角色,用于點擊關系線時,突出顯示線兩端的頭像使用,參數(shù)內(nèi)需包含所有的角色,以及手動在“值列表”添加一個“全部”,如圖設置。
? 創(chuàng)建參數(shù):突出關系人,用于點擊關系線時,突出顯示線兩端的頭像使用,參數(shù)內(nèi)需包含所有的關系人,以及手動在“值列表”添加一個“全部”,如圖設置。
創(chuàng)建計算字段
新建工作表,單擊“數(shù)據(jù)”窗格右上角 ▼ 符號,在下拉菜單中選擇:創(chuàng)建計算字段。需要創(chuàng)建 14 個計算字段。
? 計算字段:各角色最小關系id,鍵入函數(shù):
{ FIXED [角色id]:MIN([關系人id])},該字段用于限制只出現(xiàn)一個頭像點 。
? 計算字段:總?cè)藬?shù),鍵入函數(shù):
{fixed:COUNTD([角色id])},該字段用于三角函數(shù)使用。
? 計算字段:標簽,鍵入函數(shù):
IF [R] = 2 then [角色] END,該字段用于顯示頭像的名稱。
? 計算字段:突出點,鍵入函數(shù):
if ([突出關系人]=[角色] or [突出角色]=[角色]) and [R]=2
and [關系人id]=[各角色最小關系id] then ‘可突出’
ELSEIF [突出角色]=[角色] and [R]!=2 and [突出關系人]=[關系人] then ‘可突出’
else ‘不可突出’ end
該字段用于點擊關系線時,確定哪些點應該突出顯示。
? 計算字段:關系人.x,鍵入函數(shù):
COS([關系人id]/[總?cè)藬?shù)] * PI() * 2) //范圍cos(2Π/n ~2Π) [-1,1)
? 計算字段:關系人.y,鍵入函數(shù):
sin([關系人id]/[總?cè)藬?shù)] * PI() * 2) //范圍sin(2Π/n ~2Π) [-1,1)
? 計算字段:角色.x,鍵入函數(shù):
COS([角色id]/[總?cè)藬?shù)] * PI() * 2) //范圍cos(2Π/n ~2Π) [-1,1)
? 計算字段:角色.y,鍵入函數(shù):
sin([角色id]/[總?cè)藬?shù)] * PI() * 2) //范圍sin(2Π/n ~2Π) [-1,1)
? 計算字段:余弦.x,鍵入函數(shù):
COS((ACOS([角色.x])+ACOS([關系人.x]))/2)
? 計算字段:正弦.y,鍵入函數(shù):
SIN((ASIN([關系人.y])+ASIN([角色.y]))/2)
? 計算字段:距離,鍵入函數(shù):
SQRT(([角色.x] - [關系人.x])^2 + ([角色.y] - [關系人.y])^2)
? 計算字段:x,鍵入函數(shù):
IF [R] >= 0 AND [R] <= 1
THEN (( (1 - [R])^2 ) * [角色.x]) + (2 * (1 - [R]) * [R] * ( ((2 - [距離])/ 2) *[余弦.x] )) + ([R]^2 * [關系人.x]) END
注意:創(chuàng)建完成后,右鍵單擊該字段,將其轉(zhuǎn)化為:維度、再轉(zhuǎn)化為:連續(xù)。
? 計算字段:y,鍵入函數(shù):
IF [R] >= 0 AND [R] <= 1
THEN (( (1 - [R])^2 ) * [角色.y]) + (2 * (1 - [R]) * [R] * ( ((2 - [距離])/ 2) * [正弦.y] ) ) + ([R]^2 * [關系人.y])
ELSEIF [R] = 2 and [關系人id]=[各角色最小關系id]
THEN [distance] * [角色.y] END
注意:創(chuàng)建完成后,右鍵單擊該字段,將其轉(zhuǎn)化為:維度、再轉(zhuǎn)化為:連續(xù)。
? 計算字段:x.shape,鍵入函數(shù):
IF [R] = 2 and [關系人id]=[各角色最小關系id]
THEN [distance] * [角色.x] END
注意:創(chuàng)建完成后,右鍵單擊該字段,將其轉(zhuǎn)化為:維度、再轉(zhuǎn)化為:連續(xù)。
為便于數(shù)據(jù)管理,可將剛剛創(chuàng)建的這些計算字段,根據(jù)用途分別放在三個文件夾里。
創(chuàng)建視圖
首先,將計算字段“x”和“x.shape”拖放至列,將“y”拖放至行。再對“x”和“x.shape”做雙軸和同步軸操作,并移除“全部”“標記”卡上的“度量名稱”顏色膠囊。
打開“x”“標記”卡,將其標記類型改為:線,并如下圖將各個字段拖放至該“標記”卡中(注意:需要將字段“R”轉(zhuǎn)化為維度、再轉(zhuǎn)化為連續(xù),然后再拖放到“路徑”中)。
單擊“x”“標記”卡的工具提示,如下圖設置:
打開“x.shape”“標記”卡,并如下圖將各個字段拖放至該“標記”卡中。
按照 🌰 如何插入自定義形狀 方法,將角色頭像圖片放入電腦中。
單擊“x.shape”“標記”卡的形狀,為各個角色設置對應的頭像。
設置好之后,可以根據(jù)需要調(diào)整一下大小。
然后,將字段“突出點”拖放至“全部”“標記”卡的詳細信息中,如下圖。
設置儀表板操作
新建儀表板,將剛剛創(chuàng)建的工作表拖放至右側(cè)視圖中。然后,單擊頂部菜單欄“儀表板”,下拉菜單選擇:操作,需要添加三個操作。
彈窗中,需要以此選擇,添加一個突出顯示操作、兩個參數(shù)操作。
? 參數(shù):傳遞需要突出的關系人,如下圖設置。
? 參數(shù):傳遞需要突出的角色,如下圖設置。
? 突出顯示動作:突出顯示1,如下圖設置。
完成后,可以實現(xiàn)單擊關系線,突出顯示關系線和關系線兩端的頭像的功能,見下圖。
最后,再按需設置文字、線粗細、顏色、格式等等,就實現(xiàn)了我們想要的電影《獨行月球》角色關系和弦圖了。
本期的 Tableau 技巧,你 Get 到了嗎?
下一期,再見~
文章部分信息來源于網(wǎng)絡,如有侵權請告知
總結(jié)
以上是生活随笔為你收集整理的举个栗子~Tableau 技巧(244):用和弦图(Chord diagram)呈现数据关系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好书推荐:《商贸与文明》
- 下一篇: DMZ主机设置