視覺設計原則:Salience – 凸顯

 

The fact of being important for or connected with what is happening or being discussed of     — definition from Cambridge Dictionary

視覺設計原則中,如何去“凸顯(salience)”重要的要素,是其中一個技巧。其目的便是能創造合適的對比,讓觀看者能快速地看到局部的特徵。

Points Of View : Salience Fig1
salience through visual features

從這篇Nature methods的文章Fig1-a,可以發現一眼望去,符號A相對於P,很容易就被看到,這樣的設計就是所謂的凸顯,可以使用顏色、大小、方向、形狀、標記、動作、分組的方式去達到這個目的。

凸顯的目的有二:

第一個,降低觀看者的認知負擔,減少其找尋到特定特徵和意義的時間,適合在像是簡報或是海報等,觀看者同時還在聆聽資訊,兩種感官在競爭觀看者的注意力。

第二個,加快使用者理解較複雜圖形的意義,以便理解設計者進一步疊加在視覺表達上的意義。

Points of View: Salience Fig2
Visual conjuctions

從Fig2的真實例子可以發現,如今的資料複雜度是越來越高的(所以視覺化設計的能力便需要提升),往往想要在一張圖中,放入多維度的意義,這樣就無法良好的凸顯想要傳達的一系列訊息,實際上,可以用Fig2-b的方式,有效地且次序地表達到想要呈現的資訊。這類的圖片通常需要觀者去執行所謂的Visual conjuction的搜尋(看圖標,然後進而去主圖中搜尋),當圖標過多種,此時就達不到良好的突顯,讓使用者找尋特定資訊和理解的時間增加。

 

閱讀參考:

Bang Wong(2010). Points Of View: Salience. Nature Methods
Ware, C. Visual Thinking for Design (Morgan Kaufmann Publishers, Burlington Massachusetts, USA, 2008).

如何組織每次的分析專案檔案

每一次的資料分析,都會產生大量各式檔案,有原始資料、前處理過的、分析的程式碼,所以多花點心思在每個步驟都稍微整理回顧一下,長久來說會減少很多“災難”,讓自己能有reproducible research skill. (其實就算是wet實驗也都是如此,只是dry的分析,幾乎都在電腦上,所以好的習慣變得很重要)。

論壇上其實有不少人也有這樣的問題,故整理一些不錯的文章,雖然每一個人的做法些許不同,但重點是要建立自己一套流程。

screenshot.png

第一個重點是以project為單位來整理,不要用時間或是分散式的,所有跟某一次實驗或是分析相關的就用一組架構,架構裡最主要就分三類:資料、分析結果、分析程式碼,也是根據這三類來分,另外,可以用subproject來往下。而可以多多利用command line的技巧來減緩創建資料夾的麻煩(使用wild card),而在README文件要有良好的documentation,且可以用純文字撰寫,但可以用markdown的風格撰寫,可以在使用工具轉換成pdf、doc,使用像是pandoc的工具。

主要多花時間整理自己電腦裡的資料,整體分析的工作流程會進步更快,雖然一開始在資料量少的時候會比較煩!之後再分享用git來做版本控制!

R Shiny 快速使用R搭建app應用

Rstudio 開發的shiny基本架構

Shiny application是一款以R語言為框架,可以快速且方便搭健application,當幫忙使用R寫完清理或是視覺化資料後,最重要的是如何讓不懂R語言的人也可以享受,此時,用RStudio開發的Shiny框架便能快速有這效果,且其跟Rstudio整合得非常好,貼心宜人,即使非寫網頁應用程式出生的生物學家,只要略懂R語言,便能完成!

screenshot.png

shiny語法有非常詳細的解說,且搭配實例,只要到官方網頁就可以瀏覽,大概一兩個小時就可以了解他的架構,最棒的事其可以跟html / javascripts等等串接在一起,做出更多的效果!

做好的application可以直接使用Rstudio裡頭的快捷鍵發佈到shinyapp的網路平台,其提供後台完整的服務,付費的話可以獲得更佳的效能,但免費版已經可以玩得很開心了!

screenshot.png

 

點擊寫好的code,便能直接deploy到shinyapps的平台,一條龍服務!

screenshot.png

基本上,shiny的概念,就是直接用R code搭建網站的前端(ui.R)和資料處理的後端(server.R),server的code會處理由ui端或是使用者輸入的資料,處理後再丟回給ui!

Kyruus 醫師資訊的彭博社

kyruus 公司網站

這是由本來為內科醫師之後轉往創投發展的Graham Gardner和亞裔工程背景的Julie Yoo在2010年創辦,其目標在於整合臨床醫師的資訊,提供給醫院、保險公司和藥廠,目前有搭建一個平台ProviderMatch,想要解決病人和醫療提供者之間的mismatch(因為在美國還要考慮到不同保險和藥廠的關係),所以建立這個平台來解決這個問題,將醫師是否availabe、位置、其隸屬醫院的保險公司等等全部整合在一起。

他會從多種來源來收集資料,像是人力資源資料庫、醫師認證系統、電子病歷、供應鍊資料庫等等超過一千個公共與營利性的資料庫。針對企業端,他們其中一個想要降低的是病人因轉診而流失在同一個醫療系統下的轉診流失率,這對很多醫療企業是非常在乎的。其公司在資料處理上主要有三大類:收集資料並整理、分析資料、