繪製《乘風2023》數據圖表的反思(2) — 同時呈現兩個變數

Dennis Tseng
DD Story Hub
Published in
May 23, 2023

這篇文談到了想要視覺化呈現資料時,轉化數據的方法、思考排序時的顧慮、想要呈現多個變數的企圖、以及變換圖表的形式。

註:部落格版本在此

系列文章都在講述繪製數據圖表時,遇上的困難與反思,請見第1篇

這次搜集到問卷回答後,遇上的問題是,同時有兩個性質相似的變數,但想傳達的意義不同,要怎麼兼顧兩者的問題。

既想要在圖表中有效地呈現排序,同時又不想失去原先蒐集到的兩種變數,除了直接畫兩張圖表,或者相加以外,有沒有更好的辦法?

《乘風2023》第一次公演後真人秀的Ella戰隊。截自芒果TV。

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

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

資料介紹

我在問卷中,請填答者回想在第一次公演中,分別回答最欣賞和最驚豔的姐姐。原文是這樣問的:

  • 不論原本的「能力值」,第一次公演中,表現最好的是?
  • 考慮原本的「能力值」,第一次公演中,表現最讓你覺得有突破或驚艷的是?

前者是要問綜合表現最好,後者則是最突破其個人能力。每個人都只有1票可以投。現場觀眾其實是每人3票,但在設計問卷的時候沒想到這點,而且繪製圖表的時候現場觀眾投票結果還沒有出來,所以這次沒有要跟現場觀眾比較。

如下圖所示,資料中有3個欄位,包含回答者的序號(reply_id)、表現最好(best)、表現最驚艷(surprise)。

原始資料長相。截圖。

我用了一些步驟,將資料轉換成以人為單位的格式。簡單來說就是分別以表現最好和最驚艷的欄位為基底,加總每位姐姐獲得的票數(count()),這樣得到2張表格,接著以姐姐的名字為鍵值(key),把表格串接(full_join())在一起。通常不建議用名字為鍵值,不過因為這2道題目是採取封閉式的問答,所以不會有名字不一致的空間,也因此可以不用擔心串接時遇到的問題。

*括弧內的是 R 語言裡面的函數,因為原文寫在一個 R 語言的部落格,可以略過沒關係。

因為還沒想清楚到底要怎麼呈現才好,所以我還額外加了一個加總表現最好和最驚艷的欄位,最後變成一張有4個欄位的表格,分別是姐姐人名(sister)、表現最好票數(n_best)、表現最驚艷票數(n_surprise)、票數加總(n)。

以姐姐為單位串接後的表格。截圖。

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

對設計問卷和填寫問卷的人來說,最好奇的問題是「大家覺得哪位姐姐表現最好/最驚艷?」因此,我認為要呈現的資料重點很單純,也就是要突出表現優異的姐姐

刻意使用表現優異這個詞,是因為我還不確定是要分開呈現「表現好」和「表現驚艷」這兩項指標,還是要一起比較好。於是我開始思考,若我是讀者,在乎這兩件事情嗎?

想了一下,我覺得還是會在乎的,因為不是每個姐姐都擁有豐厚的舞台經驗,有演員不曾唱過歌,也有歌手不知道怎麼跳舞,所以除了表現最好以外,自我突破也是觀戰重點,因此,我想盡量同時呈現兩者。

第二個問題:怎麼同時呈現兩個變數?

既然要一起呈現,所以我先用了最簡單方式:併排列出。利用長條圖,我把表現最好放在左邊、表現最突破放在右邊,產出了底下3張圖。

無論是哪張圖,都可以看出,美依禮芽的表現最好,同時也在突破欄位獲得最多票,可說是雙冠王。不過,我們也遇上了明顯的排序問題,圖一按照表現最好、圖二按照最突破、圖三則是加總後排序。

無論是哪一個選項,都面臨「有一好沒兩好」的紊亂感。

3張圖表分別用不同方式排序。自繪。

排序是一個問題,同時呈現變數也是一個問題。這時候的我想要探索更多可能性,所以同樣利用長條圖,但稍微換了形式,上面是將長條圖分別排列(facet_wrap()),底下則是將屬於同一個姐姐的2個變數結果並列(geom_col(position = “dodge”))。

另一種表現形式。自繪。

不過,上面兩種圖表的意圖其實不太一樣。分開排列的圖表讓讀者可以清楚地檢視同一位姐姐在 A 變數和 B 變數,和他人相比表現如何;並列的圖表則讓讀者可以掌握同一位姐姐整體的表現,同時查看她自己跟自己比的結果,是屬於絕對值更高的表現好呢,還是相對自我突破的表現驚艷呢?

這其實是一個很兩難的問題,因為在競技舞台上,和他人比較是永遠重要的,排名輸了,就會淘汰;但對好奇的觀眾來說,知道大家對追求最好、追求自我突破的共識為何,也很重要。

因此,我遇到了2個挑戰,一個是技術上資料排序的問題,一個是內容上兼顧排名與變數之間差異的問題。

第三個問題:如何兼顧排序與內容?

既然要考慮排序,又要想辦法凸顯「最好」與「最驚艷」,我決定利用前面多加上的欄位—票數加總。如下圖所示,我把票數加總作為指標,用來當成排序的依據,這樣便能處理排序問題,同時也能彰顯姐姐的表現結果。同時,我利用顏色把表現最好和最驚艷呈現出來,這樣讀者就能自行確認,票數到底源自於哪種類型的喜愛。

將2個變數加總後排序,再補上分色,希望處理上述問題。自繪。

舉例來說,美依禮芽不但表現最好,也最有突破性;Ella 加總票數次之,可以看出是因為大家喜歡她的絕對表現;朱珠可能不是表現最好的,但她是表現非常有突破性的。如此一來就能夠分辨出「大神正常發揮」和「苦練決勝負」的差異了。

另一個選擇:沒有如果

因為上一篇在畫出結果後,想到利用坡度圖的額外解法,下了一個鄧福如的《如果有如果》小標,這一篇沒有遇到問題,到這一步就滿意,因此改成引用了梁靜茹的《沒有如果》,希望這個自封的小巧思不會太過欠扁。

整體來說,這次的問題相對較小,要擔心排序,同時要顧慮怎麼一次呈現2個變數,最後透過加總與分色渡劫。不過,預計在第二次公演的中,除了這2個變數以外,還會把現場觀眾投票而得的個人喜愛度也納入,這樣就會有3個變數,絕對會是新的挑戰。

到時候會怎麼處理呢?就留給下一篇文來處理吧!

附註:美依禮芽跟A-Lin加油,希望你們可以持續地乘風破浪!

--

--

Dennis Tseng
DD Story Hub

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