繪製《乘風2023》數據圖表的反思(4) — 當圖表太過擁擠

Dennis Tseng
DD Story Hub
Published in
Jun 18, 2023

這篇文談到了想要視覺化呈現資料時,如何量化喜愛程度,並且細拆成不同面向。

註:部落格版本在此

本文共分好幾篇,都在講述繪製《乘風2023》數據圖表時遇上的困難與反思。請見第1篇第2篇第3篇

這次以第三次公演為主題,在PTT的陸綜板發起投票,調查台灣觀眾對浪姐舞台和個人的喜愛度。其中,最大的變革在於,加入了把公演細切成服裝妝造、舞台設計、音樂表現、肢體表現4個構面的一道題目。

當「喜愛」可以量化,並且細拆成不同面向時,在視覺呈現上需要花更多功夫,本文就是以呈現4個構面為主題,描述製作數據圖表過程中,在挑選圖表類型時,發現拿到的資料,無法呈現出想傳達效果,因此尋找新解方的過程。

《乘風2023》第三次公演後真人秀的Amber戰隊,從左至右分別是吉娜、陳意涵、小美、劉惜君、Amber、謝欣。截自芒果TV。

這篇文章記錄了 (1)應該呈現的資料重點和 (2) 應該如何利用圖表形式凸顯資料重點時,遇上問題的心路歷程以及想出的解決方法。

延伸閱讀:看《乘風破浪》的夏天:打開浪姐的八百萬種方法

*註:如果你只想看跟《乘風2023》有關的圖表,可以直接去看 IG 上的這篇文章,或是搜尋在 IG 上搜尋 “ddplot”,加上關鍵字 hashtag 也可以。

資料介紹

我在問卷中,請填答者排序第二次公演的 8 個舞台。

  • 請針對三公舞台的「____」給出 1 到 5 分。

底線處即代表服裝妝造、舞台設計、音樂表現、肢體表現4個構面,因此共有4題。

問卷中舞台構面的題目長相。截圖自問卷。

這題的回答採用李克特量表的設計,選項從非常不滿意到非常滿意,可以對應到1–5分。

資料的實際長相如圖所示,包含回答者的序號(reply_id),以及舞台(stage_order)、答題者的選擇(rank)、舞台構面(structure)。

原始資料長相。截圖。

得到上述的原始資料後,我先將答題者的選擇轉換成為分數(case_when()),對應到1–5分,接著再加總各個舞台分別於4個構面得到的分數(group_by() + summarize())。

加總分數。截圖。

因為純看分數加總,對人類來說沒有意義,例如不知道584分能夠對應到什麼樣的位置,這樣是高還是低,因此我將分數除以有效票數,就可以將總分數還原到平均分數。如此一來,便大功告成。

除以票數後,分數重新回到1–5分的尺度。截圖。

得到資料後,接下來可以準備視覺化了。

第一個問題:資料的重點是什麼?

在這個舞台構面的題組知前,其實我已經問了2道舞台相關的題目。其一是詢問答題者會將票投給哪一個舞台,每個舞台都有投與不投的選項;其二是詢問答題者會怎麼排序這6個舞台。

既然有了這兩道題,那又何必拆分構面?我的想法是,人類的想法有著高度的隨意性(arbitrary),例如我非常喜歡《蘇州河》這個舞台,理智上我能感受到Ella領銜的《山河圖》、惜君靖姍小美的《歸途有風》表現都優於《蘇州河》,但仍深受觸動,因此在排序時我將它排在第一。

可是,如果將喜愛緻密地拆解,用舞台設計、音樂表現,這種有名目、有細節的指標評分,那我就會半被迫地、較為嚴肅地給予評價,也能從喜好中抽取中比較理性的一面。

所以,對我來說這題想要問的不只是4個構面加起來的總分而已,我真正想要看的是,將舞台表現整體,落實到每個構面之中。

這樣一來,就不能像前面2題一樣,只滿足於呈現總體結果,而要想辦法呈現出每個舞台在4個構面中分別獲得的分數。

第二個問題:如何同時呈現4個構面?

這題是遇到的最大挑戰。

我想要比較舞台的表現差異,其中表現又由4個不同的子構面組成,若想用最常見的長條圖比較,會從7(舞台數量)x 1(表現)直接暴增成7(舞台數量)x 4(表現的4個構面),當初在揣想圖表效果時,立刻將長條圖排除考慮。

雷達圖

接著,我想到了雷達圖(radar chart)。

雷達圖的範例。Google搜尋。

雷達圖擅長比較多維度的資料,將變數投射到多邊形的每個頂點,代表分數的點點(dot)彼此相連,呈現出小的多邊形。

可以使用單一個多邊形呈現好幾筆資料,也可以如上圖中右上,每筆資料都分別置放在不同的多邊形上。單一多邊形的優勢是可以快速看出差距,但因為重疊,當資料太多時容易混淆;不同多邊形一起看很清楚,可是如果差異小會很難比較。

我很快用R語言中的ggplot2套件,畫出了一版雷達圖。

利用雷達圖呈現舞台的4個構面。Instagram @ddplot。

你可以從圖中發現幾個窘境。

首先,有點看不出來每個舞台的分數差異。這就是我前面講的,因為每個舞台的分數近似,還在同一個多邊形上時還可以理解,分散在圖表中時,就很難發現差異所在。

再來,因為剛好只有4個維度,沒辦法很好地發揮雷達圖的強項,也就是多維度的呈現,4個維度分別佔據90度,反而讓圖表看起來有點死板。

最後,因為舞台有7個,如圖中2列4排會有一個空缺,如果想用3列3排也會有兩個空缺,實在是進退兩難。

看到結果如此,我決定尋覓替代方案,並且讀到一篇寫於2006年,很不錯的文章。由此可見,好的視覺化總是不會過期。

作者和我一樣,同樣遇到使用雷達圖呈現4個維度,發覺結果不太好看的問題,他和朋友討論後提出兩個解方。

Jon Peltier 在文章中提出的雷達圖替代方案。

這兩個解方其實都是用類表格的圖表,同時呈現4個選項。

上圖是用甜甜圈圖(donut chart)的圈圈粗細展現高低,下圖則是用長條圖的長度表示大小。雖然是兩種常見的圖表,但突破之處在於擺放的位置,恰巧能夠有效地比較差異。

其中,我更喜歡下圖,因為這張類表格的長條圖中,每行的變數都緊密排列,有點像是海浪或者建築物,讓我們一眼望去就能看出彈性、穩定性等不同面向的高與低。

如果回到我的例子,這樣的圖表形式,可以讓讀者知道,「《歸途有風》音樂表現好高!但其他就沒那麼突出了。」

類表格長條圖

所以,我仿照Peltier的做法,做出類表格長條圖。

利用類表格長條圖呈現舞台的4個構面。Instagram @ddplot。

沒有比較、沒有傷害。在Peltier的圖表中,它的構面有7項,要比較的商品只有4種;在我的圖表中,舞台的構面僅有4項,要比較的舞台卻有7種。

因此,Peltier的圖表優雅且緊密,我的圖表擁擠而扁平。如果翻轉兩個座標軸,會好一點嗎?

利用翻轉座標軸後的類表格長條圖呈現舞台的4個構面。Instagram @ddplot。

從這個角度看,至少視覺上好上許多,我們可以發現服裝妝造的前兩名是誰、能夠辨識出舞台設計上有人一支獨秀。只是,因為分數實在有點相近,所以比較上還是有點困難,另外,我們只能比較構面之內的差異,無法做到同場表演中跨構面的比較。

這簡直是先天不足(7x4),加上後天失調(分數接近)。難道,沒有其他辦法了嗎?

查找更多其他人的解法後,最多的建議似乎是:請循其本。

並排長條圖

所以我請出了一開始就放棄的,最簡單的長條圖。不像上面以類表格的方式呈現,而是單純的並排。

利用並排長條圖呈現舞台的4個構面。Instagram @ddplot。

這兩張圖表,都能夠確實地做到上面提的需求:看出單一舞台構面之間的差異,同時又可以比較跨舞台的表現。

最終我選了右邊那張,因為左邊那張圖表中,7個舞台變成了比較的變數,就選項來說這樣太多,超過一般讀者能記憶的極限。

如果只有4個舞台,或許可行,但是選項超過一定門檻時,想要反覆對照圖上的顏色與下方的圖例,會對讀者帶來太高的認知負擔

對照之下,右邊的圖表中,比較的變數則是構面本身,可以在同一個舞台中左右對照;即使要對比跨舞台,因為整張畫布的空間很大,長條跟著拉長,不像前面的雷達圖沒有太多空間,這邊只要心理投射一條虛擬的線條,就可以對比相隔最遠的《山河圖》和《千里萬里》。

考慮到使用原色可能會讓整體資訊量過大,所以我調整透明度(但這不一定是個好作法,只是個人習慣),並且加上長條的外部框線,還補上構面中排名第一的小標籤,輔助讀者閱讀。

第三個問題:怎麼決定順序?

因為上面的圖表其實已經接近成品,我還沒有交代排序的細節。

這部分很簡單,我加總4個構面的分數後,再依照總分由高排到低,就這樣而已。

第四個問題:什麼才是「正確」的指標?

回顧這次問卷,單就舞台排序,就有3種題目,一種是「投與不投」,一種是排序,一種則是拆解構面後評分。

結果如下圖:

三種題目,同樣呈現舞台分數。

對比結果可以發現,只有《山河圖》穩居第一,包含《歸途有風》、《蘇州河》在內,都有換過位置,更別提其他3個舞台了。(因為性質不同,《將軍》只放在最後一張圖表)

那麼,哪一個指標才正確呢?

最常見的廢話式回答是「沒有正確的指標,端看你想要什麼。」如果只講了這句,那還真的是廢話,所以我想要解釋「為什麼」。

回到當初設計問卷題目的想法,3種題目,其實都有各自的目的。

第一次公演時,其實只有第一道題目:「投與不投」。提出這題是因為想跟現場對照,公演舉辦的長沙當地,也是採用這個投票方法。因此,目的會是比較現場和螢幕前觀眾的喜好差異

第二次公演時,我增加了第二道題目:排序。提出這題是因為覺得投與不投本身不夠細緻,投票支持某兩個舞台,不代表我對他們的喜好是一樣的,這比較像是一種跨過門檻後就會願意投票的選擇。因此,目的會是想更精確地量化觀眾的喜好

第三次公演時,我增加了第三道題目:拆解構面後評分。提出這題是因為覺得即使加上排序,有時候也很難清楚說明「喜歡」的理由,A真的比B好嗎?好在哪裡?出於感性選擇其實沒錯,但我也想知道更多細節。因此,目的會是量化表演的不同組成

這就是為什麼上面會說,「沒有正確的指標,端看你想要什麼。」

小結:蘇州河和歸途有風

整體來說,這次遇到的問題更像是呈現方法上,要怎麼有效地透過圖表,溝通投票結果,所以花上許多時間探索圖表形式。

文章中有稍微提到「畫布」這件事情,但沒有花太多篇幅著墨。

以雷達圖、中間使用的類表格長條圖和最後挑選的並排長條圖來說,箇中差異就是,實際看到資料後,發現前面兩者無法有效傳達意義。

雷達圖和類表格長條圖是不是更適合呈現這種類型資料的圖表?是。但是因為有多達7個舞台,卻僅有4個構面,差異又不夠大,雷達圖看不出細節,類表格長條圖又太擁擠,所以才會選並排長條圖。

雷達圖之所以看不出細節、類表格長條圖之所以太擁擠,都是因為畫布空間所致。選項太多,雷達圖因此太擠,要在2列中塞下7個選項,導致看不清;因為是7x4(列x行),4個構面其實很少,所以每個構面看起來都很寬,反而變成畫布太大了。

回到並排長條圖,因為變成1x28(列x行)個長條,只有1列讓每個長條都足夠修長,28行則讓每個長條都能夠顯德細瘦,恰巧完美地符合要求。

整體來說,這次視覺化遇到的問題也是很有趣的挑戰。接下來如果有其他視覺化上的煩惱,會持續更新。請繼續收看《乘風2023》!

附註:《蘇州河》《歸途有風》是我三公中最喜歡的舞台。

--

--

Dennis Tseng
DD Story Hub

現在不是新聞所學生也不算資料分析師了,變成記者。對商業分析、統計、資料視覺化、資料新聞都很有興趣,喜歡寫 R!