2020年6月20日

tour creator創造 VR的生態系之旅

打從很多年前,Google開始有了Google地球、衛星圖、街景服務等。我就一直用這類型的服務在生態系課程中介紹。

甚至前幾年開始也用了Google Expedition的App,帶學生用 Cardboard VR,由我當導遊帶領學生以VR的方式來看課堂不會去的生態系。

之前的Expedition都還是只能用官方提供的場景,但是在去年的時候Google做了整合,使用者可以自己設定場景包,加入Google 街景的照片,或是自己拍攝的 360 照片。然後整合進 Expedition,讓老師可以帶學生體驗客製化的場景。


今年我反向嘗試,與其都是我帶著學生走,不如就讓學生來自己設計場景吧。我的規則是要求學生利用 Tour Creator 設計場景之後,把發布的連結提交到Google 表單上來交作業。

規定如下
  • 至少6個場景,包含海洋、河口、淡水、森林、草原、沙漠
  • 台灣優先,找不到的就找國外的
  • 最後要按下Publish(發布),用連結交作業
  • 加分條件:場景有 point of interest、場景有錄音解說

為此,我特地錄製一段影片教學生怎麼開始利用  Tour Creator 做作業。

然後,這是我的示範作業


其實一開始我以為學生可以很快完成,結果沒想到光是這個作業,學生就花了快兩節課才完成,原來這個作業有很多門檻。

第一、學生對地理概念尚不清楚,要求他找森林生態,他還不知道要去哪找森林。或是即便找到了,他也不確定那是不是森林,因為他可能都沒去過真實的生態系,何況是街景模式的360照片。問了一些學生,甚至沒去過新竹濱海的香山溼地。

第二、許多學生從地圖上找到一條河的上游,他們就覺得那是河口了,原來他們覺得只要是河到照片邊緣就算河口。即便我們在之前已經說過了河口是在河川的出海口。

第三、對於淡水生態系一直覺得就是指新北的淡水區的生態系

第四、對於草原的想像力,新竹的學生很多只停留在「青青草原」那個地方


這個課程若要做好,從零開始應該不只兩節課。也許下次可以做這個課程的退階,讓學生自行瀏覽教師製作好的場景包,點選場景中的興趣點觀看該場景的亮點,然後辨識那個場景的生態系特色,例如分類生態系,或是判斷是否是人工的(不過蠻難),或是把選項變成場景中的四個興趣點,由老師設定問題,讓學生判斷哪個興趣點才是正確答案,例如判斷哪邊是上下游?是屬於針葉林還是闊葉林?


剪刀石頭布的生物多樣性遊戲-入侵種的危害



這個遊戲修改自其他環境教育單位的遊戲,但是不知道最初來源是哪裡?

遊戲材料

  • 白色卡片:數量為學生總人數,代表本地種
  • 紅色卡片:數量為學生總人數,代表入侵種
  • 迴紋針:數量為學生總人數x2,代表生命值


遊戲規則:


  1. 一開始,所有學生都拿白色卡片,隨機找人猜拳。猜輸的就必須給人一枚迴紋針。兩枚迴紋針都沒有的學生,就代表失去生命值,須離開場外。活動進行五分鐘後,統計場中人數。
  2. 場外的學生改拿紅色卡片進入場中,代表生態系中的空缺被入侵種佔了。
  3. 無論紅卡或白卡,大部分猜拳規則都相同,只有一點不同。當紅卡與白卡猜拳時,如果紅卡贏白卡,則取走對方兩枚迴紋針,代表入侵種的競爭能力比本地種強。其他規則都相同,例如白卡贏紅卡也只能取走一枚。
  4. 場中只要有兩學生各自拿到三枚迴紋針,就可以讓沒有生命值得同學重生進入場中,代表兩個體生了小孩。新進入場中的學生從教師那取得新顏色的卡片。此規則紅卡和白卡都相同。但生殖時只能紅卡和紅卡,白卡和白卡,10分鐘後統計數量。
  5. 教師進行討論,生物除了盡量維持個體生命外,也會努力生殖增加個體數。
  6. 再挑戰一次,看看兩次的差異。

可能出現的狀況:
  • 學生未積極猜拳,因為怕輸了就得出場,所以只要不去猜拳就不會輸。
  • 學生不會救已出場的同學入場。其實原始版本的遊戲是只要失去生命值就自動變成入侵種,但是我覺得這樣實在很難解釋。


2020年6月19日

資訊圖表視覺化(13)-輔助線與輔助背景的應用

利用圖表進行科學表達時,在圖表上添加適合的輔助線或輔助背景,可以增進對圖表的了解。

舉例來說,此圖表呈現各國家的確診數和死亡數之間的關係,我們可以在圖上加上死亡率的輔助線,幫助讀者比較各國之間的死亡率。

01




在進行實驗時,如何在圖表中呈現對照組的數據?除了如下圖左那樣,直接呈現對照組的數據外,也可以如下圖右將對照組的數據以輔助線的方式呈現,使讀者一眼可看出各實驗組和對照組之間的關係。
02



這種呈現模式除了用來比較對照組外,也可以用來呈現各組的平均值,並且可以用一些資料處理的技巧,使高於平均值和低於平均值的數據自動分成兩組數列分開繪圖,就可以用不同的顏色來呈現這兩類數據。



04


例如高於平均的數列,就是先計算出平均值之後,以下列公式來資料處理
=IF(B65>$B$76,B65,NA())

當原數值大於平均值,則以原數值呈現,否則就呈現 #N/A (非數值)
非數值的資料就不會畫在圖表中。

資料處理


同樣的作法也可以應用在橫條圖上。這些繪製輔助線的方式,其實是應用了組合圖的方式,是以一張長條圖和一張散佈圖結合而成。而散佈圖當中僅有一個數值(對照組或平均值),然後在這個點上繪製超長的誤差線,即可成為輔助線。

03


除了輔助線外,應用混和長條圖和折線圖的方法,可以做出這種混和背景。這個圖是要用來強調深色背景時為夜晚。

05



又或者這個圖要呈現溫度變化曲線,在某個溫度範圍中為酵素活動範圍,所以實質上的作用時間僅有紅色一段。這張圖是用堆疊長條圖混進去的。

06



或者像這種象限圖,左圖是把原圖表的填色設無,然後直接在儲存格中填色。但須注意圖表的大小需和背景儲存格對齊。右圖則是在散佈圖中,添加一個自訂的座標原點,然後此點作出水平和垂直的誤差線,並將此點的標記設為無。

07



這類型輔助資料的製作方式,請見此影片


資訊圖表視覺化(12)-組圖

Small multiple的圖表繪製,來自愛德華·塔夫特(Edward Tufte),意指使用相同形式、尺度的小圖排列在一起,以便進行比較。



在研究報告裡善用這種圖表,可以幫助你簡潔地進行科學表達。許多在報告裡會佔有數頁篇幅的數張圖,其實經過整理之後,往往只需要一張圖就可呈現。

我以這份科展作品為例,研究者要探討不同筋性的麵粉用不同的比例混成粉漿之後,製作出來的食品的透光度、彈性和平滑度。原始報告是三張圖表分成三頁個別討論。

02


但製作成組圖後,以同一張圖呈現三種應變變因,由於做成組圖,所以橫軸只需要出現一次。製作這種圖,特別需要注意圖表對齊的問題,這可以善用前面所提示的Excel小秘訣來進行。

組圖


製作這種圖表時,不一定只能用長條圖,也可以試試看折線圖是否也能清楚呈現。
03

排列方式也不一定需要垂直排列,也可以試試看水平排列。你可以多做幾張圖互相比較,看看哪種圖比較不會產生誤會,也比較容易呈現清楚的概念。
04

另外,這篇「探討褐帶紋水螟蛾幼蟲之保護構造和運動方式」,研究者想要研究幼蟲體長、體重、巢長、巢寬和潮重之間的關係,因此繪製了兩兩相比的相關圖共十張,分開在兩到三頁呈現。

05


但其實透過合理的整理後,可以將這些圖用small multiple的方式做成一張圖來呈現即可。此外由於不同變項的全距不同,所以如果是用原始資料繪圖,會發生數據偏據一方的現象。但透過資料的最大最小正規化,讓所有數據縮放到0-1之間,則可以清楚看出變項之間的相關性。
06


組圖的製作方式請觀看此影片展示

資訊圖表視覺化(11)-熱區圖

在科展報告書中,經常會出現一些多變因的實驗,例如「不同清潔劑對不同汙漬的清潔效果」,甚至是「不同清潔劑對不同汙漬在不同材質衣服上的清潔效果」

前者的操縱變因加上應變變因,共有三個,而後者則是四個。當變因內的項目越多,圖表就會越複雜,然後就會越來越看不懂。

我以下表為例,甲乙丙丁....和ABCD...分別代表不同的變因,表格中的1234則是測量結果。

01


無論甲乙丙丁或ABCD是連續性或非連續性的變因,用折線圖或長條圖畫出來就會是這樣,非常複雜。那麼有沒有其他的圖形可以幫助我們了解這群資料呢?
02


有的,那就是熱區圖,其實也就是用顏色標示資料的大小。這張圖一看就知道哪些變項的交互作用會有比較大的結果,哪些又是比較小的。

如果你把折線圖想像成我們站在平地看遠方一層層的山巒,而熱區圖就像是飛到高空俯瞰這些山勢。

這種熱區圖的作法,在Excel上的作法其實是一鍵完成,只要用格式化條件儲存格就可以作到。

03





預設的格式化條件有不同的填色方式可以選擇。

04


不過若你想要做出以下兩種效果,就必須要一些步驟。例如手動改變填色的規則,或是把圖片拿去inkscape上,把數字刪掉。

05



像這種把資料只分割成五種填色的,就需要口動設置條件,讓各個儲存格填上不同顏色,然後文字也和填色同色,所以文字就會看起來消失。

06



來看一個實際應用的例子,這是來自中央氣象局的各測站月均溫資料

07


因為月份是連續性資料,所以當然就以折線圖來繪製,然而這樣的資料你將會難以辨識各測站的差異。

08



如果是用熱區圖來呈現呢?既能看出各季節的差異,也能看出各測站的差異。

10


接下來這個例子,是我仿BBC的圖表,在前幾個月作出來的新冠肺炎在數個國家的病例數變化,你也一定同意這樣的圖比起折線圖更能讀取圖表意義。

11


熱區圖的製作方式,請見此影片

2020年6月18日

資訊圖表視覺化(10)-長條圖與橫條圖

長條圖一般常見的錯誤如下圖左,縱軸標籤數值未對齊(9應顯示為9.0),縱軸未從零開始。

縱軸未從零開始,需要手動處理。首先畫一個長方形蓋住縱軸和資料長條後,再於縱軸切斷處繪製兩條平行線。而原始縱軸的 8 與皆顯示小數點則需要自訂數值格式代碼為
 [=8]"0";#.0 

意即等於 8 的數值改為 0 ,其餘數字皆加入一位小數點。

比起散佈圖來說,長條圖的縱軸更需要加入截斷符號,因為長條圖的資料顯示模式是以「面積」或「長度」來示意的,以下左圖為例,若直接看圖,會以為B為A的兩倍。但若是散佈圖,由於看的是「點的分佈狀態」,所以即使軸未從零開始,也不易產生誤解。但為了一致性,建議遇到這種情況都手動將縱軸改為從零開始。
01


長條圖另外的問題是排序。由於長條圖的橫軸標籤並不是連續變項,所以即使對調順序,資料也不會有錯。為了易讀性,建議長條圖的原始資料應該經過排序後再繪圖,你可以比較下面兩張圖,是不是右圖很清楚就能判斷次序關係。



02




在某些情況下,如果資料標籤的長度很長,有些人會選擇將資料標籤轉向或傾斜,但這會降低易讀性。

03



這時候就是改用恆條圖的時候了,下圖右是再經過排序後的橫條圖,你可以對比上圖左看看。以橫條圖呈現長資料標籤是比較適合的。

04




在某些情況下,也許你需要將資料標籤放在數值軸上,這個做法其實是在這張圖上加入兩筆一模一樣的數列。在上面的數列,將長條的填色和邊框都設定為無,所以並未顯示出長條,但在此長條上增加資料標籤,並取消「圖案的文字自動換行」,即可達到此效果。

05




你可以從這部影片看到實際作法

2020年6月17日

資訊圖表視覺化(9)-時間序列繪圖的一些調整訣竅


前面幾篇之後,我想已經把折線圖大多數問題講過了,最後來看幾個細部調整的訣竅。
底下我放了三張圖,前兩張都是有點問題的,但是會在裡面加上一些小改變。

原始的資料是不同時間點測得的溫度,如果你想畫隨時間的變化,看起來好像就是用折線圖?但是實際上不能用折線圖,因為折線圖的橫軸標籤只有日期和文字兩種屬性,你得用散佈圖才可以。

如果你把時間當作文字,那就會變成第一張圖,相當不適合。但是直接用散佈圖會變成第二張圖,無法呈現資料點的時間點。因此我的作法就是另外做一條輔助線,專門用來顯示採集時間的,將其數值都設成圖中的最低點,也就是34度,這樣它就會貼齊x軸,而原本圖表的橫軸標籤和刻度則設為隱藏。
折線圖與散佈圖的整理


但是如果你仔細看,會發現這張圖有幾個特別之處,第一,縱軸具有截斷標記,這其實是加了一個繪圖方塊遮住部份縱軸之後,再加兩條平行線在縱軸上。第二,如何作到Y軸從0開始,其實是Y軸的數值類別為 
  [=34]"0";#0.0
這句話的翻譯,就是「如果數值為34,那就顯示為零,不然就顯現原本的數字,且小數點後面有一位數字」


具體的做法,就在這影片後半的部分

資訊圖表視覺化(8)-日期序列的折線圖

面對像這樣的不同日期間距的資料,要畫什麼樣的圖?

用折線圖來畫是不錯,不過缺點是不太容易從圖中直接看到資料點的日期



01


如果是用直條圖呢?則有一些誤解,圖中沒有長條的部份是沒有資料呢?還是當天的數值為零?這從長條圖中無法確定喔。
02



所以看起來折線圖還是好一些,在無法知道確切採集日期的圖中,可以利用加入資料標籤來處理,直接在圖上就看到採集日。
03



上述的作法,在很多資料點的情況下,可能顯得混亂。因此可以嘗試改用以下這種作法。下面兩張圖分別是用散佈圖和折線圖去完成的,達成的視覺效果都一致,重點在於橫軸僅留下採集日的標籤,而且這些標籤都是忠實反映出非等距的採集日間距。
04


上圖的作法,其實是用了另一條輔助線,這條輔助線的數值都是0,所以這條線會貼在x軸上,此外,這條線的資料標籤顯示的是日期,且標記採用了十字。另外也將原圖的橫座標標籤和刻度都關閉。


詳細作法在此教學影片的中間部份

資訊圖表視覺化(7)-不算折線圖的折線圖,用來取代長條圖

有些繪製成長條圖的資料,其實換個方向來看,可能視覺效果會更好。

例如這是兩種植物的四種特徵的測量值,保守的作法就是使用長條圖來描述,這也沒什麼不對。

01


不過如果你用折線圖的方式來繪圖,這種視覺效果會更好。保守者可能會認為「你怎麼可以用折線圖來畫呢,它的橫軸標籤不是連續性的啊」,但是這種圖可以讓讀者更容易從圖表中獲取資訊,知道兩種植物的特徵的差異,所以請不要把它當作是折線圖,這意義上算是關係圖。


02



再舉一個例子,你會更容易知道這種以折線圖繪製關係的優點。這是來自維基百科的資料。國家名稱當然不是連續性資料,所以最保守的繪圖當然首選還是長條圖。

03


但是如果你用折線圖的方式來畫這種資料,橫軸標籤為性別。左圖是Excel出圖後的樣子,圖例在右方。右圖則是使用inkscape調整後,強調台灣的平均結婚年齡。請仔細看看這圖,比起長條圖,你是不是更容易看出台灣的特殊處,而且若要你比較男女結婚年齡的差異,你是不是也可以透過斜率來讀出?

04


好,我知道有保守者又會跳起來說,橫軸不是連續性的變項,不可以連線。好,來!我們就不要連線,這樣有比較好讀嗎?事實上這裡的連線,並不是用在描述「由男性連線到女性」,而是用來「將同一國家的兩組性別資料在視覺上歸化為同組資料」。

07



再舉一個例子是在陳良基的創新筆記中,看到的一張圖。圖中表達出在近十年來,各種不同領域的學士生人數變化。

05


接下來,看看我用同樣的資料重製的這張圖,請試著比較這兩張圖的差異性以及易讀性。

06


2020年6月16日

資訊圖表視覺化(6)-折線圖的陷阱

如果問我哪種圖表最容易踩到地雷,那我一定認為是折線圖。

折線圖裡的陷阱一是「不該連的,卻連起來」

以下圖片取自「台灣民意基金會」,第一張圖勉強可以接受,你把它的橫軸當作是有連續意義的意向來看,好像也勉強說得過去。

1


第二張圖可以理解意圖是什麼,也是把意向當作是一軸的兩端這樣來看的。但這類型的資料還是不要連線吧。
5



折線圖裡的陷阱二是忽略了「折線圖的X軸只有文字和日期兩種」,以下幾張圖分別取自台灣民意基金會和蘋果日報。

雖然橫軸都是日期,但是如果你仔細看這些橫軸,它們的日期間隔是不等距的,但是畫出來的圖卻成了等距的!這些都是在繪圖時,錯把橫軸設定成文字屬性所造成。
2 3 4




以下,我將上圖的無薪假圖表去除其他裝飾圖樣,重新繪製一次,分別設定橫軸是文字和日期,你可以看到兩者的資料點位置是不同的,這種不等距的日期就應該把橫軸設定成日期啊。

橫軸是文字或日期



這種橫軸屬性沒設定好的問題,其實在科展圖表裡也很容易出現,特別是生物科的科展中,那些不定期調查生物的題目。例如調查某些生物的出現次數,或是觀察生物的生長等。

第一,調查生物的出現,通常都是週末的時候進行,週六、週日調查後,下次又是一週後,所以每個日期都是不等距。第二,若是觀察生物的生長情形,例如莖的高度,實務上可能進行方式會是一開始測量一次後,等到莖長到一定高度時,再測第二次,所以每次的數據採集時間不一定是等距。

化學實驗也可能有這種情形,像是測量某個化學反應的生成氧氣量,會測量收集到一毫升、兩毫升、三毫升、五毫升、十毫升的所需時間,所以也不一定是等距的時間。

這些測量又需要考慮時間尺度是什麼?如果是以秒、分、小時數、日數,繪圖時一定是使用散佈圖,不會使用折線圖,原因已經在這系列中寫了三萬零八次了。

什麼時候會用到折線圖呢?就只有「日期」幾月幾號這種才會用折線圖啊。而且你要考慮清楚,你的實驗到底是要用「日期」還是「日數」?

舉例來說,你做了一個結晶實驗,三月二日開始做實驗,每隔幾天測量一次晶體的大小,雖然在你的紀錄表上寫的是3/2、3/5、3/7,,,,但是作圖時應該將這些日期轉換成「日數」,也就是第1天、第4天...。

然後你還需要想清楚實驗上的第一天並不是第一天,為什麼?因為你的圖表橫軸是「實驗經過天數」,所謂的實驗第一天,其實是實驗第零天才對,因為你作實驗的當下,還沒有「經過一天」啊。沒想到吧?

當然這樣的資料就是用散佈圖來畫,不是使用折線圖來畫。


假設你都已經想好了,我的實驗因為跟季節有關係,所以橫軸就是擺日期,而且是用折線圖來畫,或是用了特殊的方法,也用了散佈圖來畫,就像下圖那樣。那麼我可以加上趨勢線,去分析生物的目擊次數和日期之間的關係嗎?


日期的趨勢線 

答案是不可以!因為Excel的日期不是你想的那樣!


你在Excel儲存格看到的日期,其實內部儲存時是另一套數字格式,稱為datevalue,例如2020/6/16,其實是43998。這個datevalue是有一個初始值為1的,那是1900年1月1日,那你可能會問,那1900年前一天是零還是負一?答案是693962,那個數字同時也是代表西元 3799年 12月 31日(所以到那天時,Excel會有運算錯誤嗎)



excel的日期

知道這個要幹嗎呢?剛剛我們不是說到,想要看日期和個體數之間的關係嗎?也就是你想看下表中的data和Y之間的關係。但你如果是在折線圖上做出趨勢線,其實你看的是數列序號(X1)和個體數(Y)的關係,而如果是在散佈圖上做趨勢線,那就是做datevalue(X2)和Y之間的關係了。



excel的日期2


完全都不是你想的那樣啊。這就是折線圖裡的種種陷阱啊!


關於此篇折線圖與前篇散佈圖與折線圖的實作,可以在此影片中看看