資料視覺效果之Processing【1】,可視化processing
說Processing之前得先說一下資料視覺效果。
資料視覺效果--顧名思義,是關於資料之視覺表現形式的研究,將資料用其他方式表現出來,使之更直觀,
更清晰,更容易分析和處理,常見的表達方式如word中使用廣泛的長條圖、樹狀圖、折線圖、餅狀圖等。
資料視覺效果技術的基本思想是將資料庫中每一個資料項目作為單個圖元元素表示,大量的資料集構成資料
映像,同時將資料的各個屬性值以多維資料的形式表示,可以從不同的維度觀察資料,從而對資料進行
更深入的觀察和分析。
我們知道,單純的一連串數字擺在人們眼前很難分析其特點且容易使人感覺鼓噪,長時間分析更容易產
生視覺疲勞。為瞭解決這種困擾,使用Processing對資料分析,讓資料“說話”是一種很好的選擇。
Processing是一門語言,是一種工具,資料視覺效果的工具。
Processing是一種具有革命前瞻性的新興電腦語言,它的概念是在電子藝術的環境下介紹程式語言,
並將電子藝術的概念介紹給程式設計師。它是 Java 語言的延伸,並支援許多現有的 Java 語言架構,不
過在文法 (syntax) 上簡易許多,並具有許多貼心及人性化的設計。Processing 可以在 Windows、MAC
OS X、MAC OS 9 、Linux 等作業系統上使用。
Processing的特點是簡單易學,入門很簡單,不需要很強的編程經驗,可以和單片機(例如 Arduino)通
信(基於串口),然後將串口獲得資料進行繪圖,也可以繪製3D圖形,實現絢麗的效果。它是由麻省理工
學院(MIT)媒體實驗室 (M.I.T. Media Laboratory) 旗下美學與運算小組 (Aesthetics & Computation Group)
成員Casey Reas與Ben Fry編寫,程式設計語言靈感來自Arduino(不知道Arduino可以看我的Blog),和Arduino
很相似,有圖有真相:
左邊這張圖是Processing IDE,右邊為Arduino IDE,不難發現,十分相似。
介紹一個基於Processing的小作品圖:
將滑鼠放在黑色地區內,立方體可以捕捉滑鼠移動的動作並解析成資料然後隨之移動,只是Processing
的冰山一角,只要你有創意,有idea ,就可以實現各種神奇的效果 !
奉上代碼:
/** * Mixture * by Simon Greenwold. * * Display a box with three different kinds of lights. */void setup() { size(640, 360, P3D); noStroke();}void draw() { background(0); translate(width / 2, height / 2); // Orange point light on the right pointLight(150, 100, 0, // Color 200, -150, 0); // Position // Blue directional light from the left directionalLight(0, 102, 255, // Color 1, 0, 0); // The x-, y-, z-axis direction // Yellow spotlight from the front spotLight(255, 255, 109, // Color 0, 40, 200, // Position 0, -0.5, -0.5, // Direction PI / 2, 2); // Angle, concentration rotateY(map(mouseX, 0, width, 0, PI)); rotateX(map(mouseY, 0, height, 0, PI)); box(150);}
後續再更。
Processing 官網 :http://processing.org/
分享一篇Processing入門指南,很適合初學者:http://pan.baidu.com/s/1qW17mB6
怎從零開始學資料視覺效果圖表製作?
1. 可視化是串連使用者和資料的橋樑,是我們向使用者展示我們的成果的一種手段,因此可視化並不是非常特化的研究領域,它可以有非常廣泛的應用和建立途徑。作為非電腦專業的人員,你可以藉助現有的程式和軟體,根據自己資料的特點,繪製清楚直觀的圖表。Excel,SPSS,Google Public Data 等。一些部落格也會介紹常用的視覺化檢視,比如 22個免費的資料視覺效果和分析工具推薦。2. 如果你擁有一定的編程基礎,可以嘗試使用一些編程或者數學工具來進行自訂圖表繪製,比如 Mathematica,R,ProtoType等。3. 更進一步,你就可以用程式設計語言來寫自己的可視化系統了。這樣你就會有很自由的發揮空間和操控能力,資料處理,表現形式,互動方式等都可以有很自主的設計。4. 入門書的話,你可以去看看 Edward Tufte 的一些書籍。
愛上一個不愛自己的人怎辦?
也許這個問題有兩種答案:
1、既然你愛他,做好你自己犧牲一切的準備吧。包括一生為他守侯的準備。
2、如果你愛他不是那麼深,也許,換個愛你的人更合適些。