一直想學(xué)畫雷達圖份蝴,但是網(wǎng)上的教程多數(shù)是通過連線來畫的,需要前期處理數(shù)據(jù)衡未,覺得有點麻煩尸执,這兩天在Tableau Public上發(fā)現(xiàn)一個Viz作品,用多邊形畫雷達圖眠屎,優(yōu)點很多剔交,不需要先期處理數(shù)據(jù),而且是自動計算角度改衩,特別方便岖常。連接直達
自己學(xué)習(xí)以后,也對照著做了一個簡單的示例(public直達)葫督,現(xiàn)在分享一下心得竭鞍。
需要2018.3的透明特性,所以需要注意版本橄镜。
數(shù)據(jù)集就用pes2019的球員能力(數(shù)據(jù)地址)
首先偎快,引入數(shù)據(jù)并用透視表透視后幾個字段,得到新的數(shù)據(jù)集
然后更改字段名為“能力”和“得分”洽胶,這樣就構(gòu)造好了數(shù)據(jù)集
創(chuàng)建計算字段【Angle】= RUNNING_SUM((2*PI()) / MIN({COUNTD([能力])})) + (PI()/2)(這個就是原Viz作品中最巧妙的表計算晒夹,計算弧度值,反正我是不太明白)
【R】=AVG([得分])
【X】=[R]*COS([Angle])
【Y】=[R]*sin([Angle])
為什么要這幾個字段,請參考我前面寫的用Tablea畫環(huán)形圖系列丐怯。
然后將【X】喷好,【Y】拖入行列功能區(qū)(不需要取消聚合),【X】读跷、【Y】的表計算依據(jù)是【能力】梗搅,選擇多邊形,路徑用【Angle】效览,并將【能力】拖入詳細信息无切,【姓名】拖入顏色,調(diào)整顏色的透明度丐枉,并取消掉背景中的線條哆键。還要調(diào)整編輯X和Y軸,將軸范圍固定在-100到100之間瘦锹。
接下來洼哎,原Viz作品中又一個巧妙的設(shè)計來了
復(fù)制X軸,調(diào)整將標(biāo)記設(shè)為圓形沼本,大小調(diào)整到最小(幾乎看不見)
這個設(shè)計是為了顯示標(biāo)簽锭沟,如果不增加這個軸標(biāo)簽顯示就很混亂抽兆,因為堆疊在一起,同時還增加了兩個字段來控制標(biāo)簽的顯示
增加計算字段
【能力標(biāo)簽】= if WINDOW_COUNT(COUNTD([姓名]))=1 THEN attr([能力]) END
【得分標(biāo)簽】=if WINDOW_COUNT(COUNTD([姓名]))<=2 THEN AVG([得分]) END
這里要說一下作用族淮,就是如果篩選器選了一項辫红,就顯示標(biāo)簽,如果選擇多項就不顯示標(biāo)簽祝辣,非常巧妙贴妻,如果你想有對比功能可以把=1改成<=2,這樣選擇2個篩選項也可以顯示標(biāo)簽蝙斜,(超過3個就顯示比較亂了)
將這兩個字段拖入X(2)的標(biāo)簽項名惩,更改一下表計算,計算依據(jù)改為【姓名】現(xiàn)在標(biāo)簽就可以隱藏了孕荠。
選擇雙軸并同步軸娩鹉,效果如下,通過篩選器稚伍,選擇一個選項就有標(biāo)簽弯予,多于2個選項,標(biāo)簽就沒有了
接下來我們就要說背景圖的制作了个曙,你可以選擇一個做好的背景圖锈嫩,直接通過地圖背景圖像加入這樣比較省力,但是未必能找到合適的背景圖像,我們可以通過以前的用Tableau畫圓的知識呼寸,自己畫背景艳汽,并通過2018.3的透明背景功能組合圖表。
首先畫六邊形背景等舔,構(gòu)造數(shù)據(jù)集骚灸,我們畫4個同心六邊形(原理請參考用Tableau畫環(huán)形圖系列(二)畫同心圓)
創(chuàng)建計算字段
【sin】=SIN([point]*PI()/180)*[R]*25
【cos】=COS([point]*PI()/180)*[R]*25
(這里×25因為是為了和上面的雷達圖軸坐標(biāo)一致,最后都是正負(fù)100的范圍慌植,如果畫5個圓應(yīng)該×20甚牲,自己體會一下)
然后拖動【sin】和【cos】到行列功能區(qū),這里一定要取消聚合(因為我們不是通過聚合計算的方式蝶柿,與上面的不一樣)丈钙,選擇標(biāo)記為線,【point】為路徑交汤,拖入【圓環(huán)】為詳細字段雏赦,調(diào)整一下顏色和大小,取消網(wǎng)格線芙扎,關(guān)鍵還要調(diào)整軸星岗,X和Y軸都要固定到-100到100之間,就得到了4個同心六邊形戒洼。
下面構(gòu)造放射線具體原理請參考俏橘,用Tableau畫環(huán)形圖系列(六)畫柱狀環(huán)形圖
構(gòu)造數(shù)據(jù)集
創(chuàng)建計算字段
【angle】=2 * PI()* (INDEX()-1) * (1/WINDOW_COUNT(COUNT([數(shù)值])))
【R】=IIF(ATTR([內(nèi)外環(huán)])= 0, 0, SUM([數(shù)值])/WINDOW_MAX(SUM([數(shù)值])))*100(×100也是為了保證軸的一致)
【sin】=SIN([angle])*[R]
【cos】=COS([angle])*[R]
然后拖動【sin】和【cos】到行列功能區(qū),也要取消聚合圈浇,選擇標(biāo)記為線寥掐,【內(nèi)外環(huán)】為路徑,拖入【線角度】為詳細字段磷蜀,【sin】和【cos】的表計算依據(jù)都為【線角度】召耘,同樣調(diào)整一下顏色和大小,取消網(wǎng)格線褐隆,關(guān)鍵還要調(diào)整軸污它,X和Y軸都要固定到-100到100之間。
自此3個工作表已經(jīng)制作完畢妓灌,需要整合了
新建儀表板轨蛤,用浮動選項加入三個工作表,取消掉工作表的軸虫埂、表名等
然后分把三個工作表的背景變透明祥山,選中一個工作表,然后選設(shè)置格式的陰影掉伏,把工作表的陰影格式選為無(三個表都設(shè)為無)
下面就是組合三個透明的工作表(可以到布局選項調(diào)整一下項分層結(jié)構(gòu))缝呕,這樣雷達圖就在上面澳窑,背景在下面了。
然后就是合并的關(guān)鍵供常,調(diào)整3個工作表的布局位置(數(shù)值可以自己根據(jù)情況填摊聋,但是3個表必需一樣)
這樣就好了,三個工作表重疊了栈暇,雷達圖在上面麻裁,選擇時候也不會選到背景的圖表
然后通過篩選器就可以選擇了,大家可以試一下源祈,選擇一個可以顯示標(biāo)簽煎源,選擇2個就沒有標(biāo)簽了。
好了香缺,結(jié)束了手销。
此篇文章已發(fā)布到我的公眾號:saodisir,有興趣也可關(guān)注一下