如何成為一名數據可視化工程師?
據我所知,諮詢公司一般是利用現成的可視化工具對數據進行展示。
請問對於技術公司來說,需要如果準備才能進入到可視化工程師崗位?
對於應屆畢業生而言是否需要從前端崗位切入可視化這個領域?
謝@鄒昕 昕哥邀請 對於數據可視化,我是小白愛好者,國內讓我驚艷的可視化是阿里巴巴的數加、北京數字冰雹,每次缺少靈感或者配色問題,就模仿他們做。
可視化設計師需要以下三個模塊技能,設計者能將數據通過敘事展現給目標受眾=這整理出來是我所知道,大部分都有運用
作為一個小白,講講我所理解的數據可視化
看到這裡,讀過《數據之美》的小夥伴,會不會覺得似曾相識,是的,其實最後兩張還有前面的思路都是引用《數據之美》,這是一本非常好的書,很適合入門。這兩張圖是我按照書本在PPT一點一點畫出來的,你忍心不點贊?
網上的一些作品
本來想po一些自己的動態作品,知乎竟然不能po gif。
之前在物流平台公司工作,就畫出公司線路的發展軌跡。用得是Echarts...
最後
不管你用什麼工具,別忘了你的目的是理解數據,這就是可視化工程師和前端工程師的最大區別。
謝邀
前面幾位都已經答得很好了。所以此文算作一些補充吧。本來正在寫一篇關於數據產品交互邏輯的文章,有一部分是可視化的內容,那麼就在這裡講一講吧。
1. 什麼是可視化的意義
可視化的意義是幫助人更好的分析數據,也就是說他是一種高效的手段,並不是數據分析的必要條件。
以下是科比投籃與庫里的熱圖,通過這兩個圖,我們很快的可以劃分出科比的投籃的習慣性位置,和庫里的投籃的習慣性位置,非常明顯的區別在於科比主要的進攻手段在籃下,而庫里是三分線外。
那麼,我們畫這兩張圖有什麼作用呢。如果說我們已經可以通過計算機自動分析防守這兩位全明星的方法,那麼可視化就沒有意義。
如果我們採用了可視化方案,意味著機器並不能精確的分析。當然,也要明確可視化不能直接帶來結果,他需要人來介入來分析結論。
那麼,利用好合適的可視化手段是非常關鍵的一環。
2. 怎麼定義優秀的可視化作品
那麼什麼是優秀的可視化作品。正如上圖所寫,優秀的可視化作品 = 信息 + 故事 + 目標 + 視覺形式,因此,一件可視化作品是從數據 -&> 交互 -&> 視覺 -&> 開發的一個過程。
定義合適的可視化圖形,可以說是最為關鍵的。一般情況來看,線柱餅等基本圖形可以完成我們大部分的需求,這也是分析人員最常用的展現形式。但對於大數據場景或具體業務場景下就需要更加特殊的可視化。
我給出對於定義圖形的原則是即直觀又豐富,即相關又離散,看上去是兩對矛盾的詞。對於可視化圖形與表格最大的不同在於它經過了一次對於數據的加工,反映在我們腦中的信息也許更容易觸達所想,也許也會形成誤導。因此,我們需要它展現出多維度的信息,而不是單一層面。
比如看趨勢,是我們直觀表達數據的最簡單的需求。我們往往第一選擇就是折線圖,然而折線圖在大部分情況下只滿足直觀這一個特點,它代表的含義需要非常有經驗的相關人士才能推理出。那麼,我們還可以作什麼其它選擇呢?
舉個我們我們在看時段數據的例子,如果說我們用熱圖來表示,就可以看到分布在一周內整體不同時段的訪問頻度。
這塊內容已經涉及到具體的情況了,這就要求我們的可視化工程師有著出色的多維判斷能力。因此,一個好的可視化人才就需要具備不至在一個方面的精通。可以說他即是一位產品,也是一位交互,同樣是一位開發。那麼再來講一講可視化人才的培養。
3. 可視化人才的培養
現在對於數據可視化工程師多半是劃分在前端工程師這個類別里,這主要對於研發能力上的要求。事實上,對於數據可視化工程師的技能要求遠遠超出前端工程師的範疇。
我在管理團隊的時候,需要帶出一支可視化的隊伍,在這個過程中有實踐也有有思考。實踐是今年產出的 GitHub - recharts/recharts: Redefined chart library built with React and D3,得到了國內外的認可。簡單分享一些經驗管理上的經驗。
這是以前做的一圖,在 Recharts 的規劃結合了業務場景的需要,需要為工程師提供一種方便的可擴展的圖表方案,結合了技術產出與人才梯隊的培養兩個方面,最終在項目中實踐落地。
當然,可視化工程師的培養需要一個過程,我們從最早接觸數據開始,來擴展其它方面的能力,開發圖表就變得為了去做一件作品而去做的一件事。
歸納起來一名可視化工程師需要具備三個大方面,數據分析能力、交互視覺能力、研發能力。細分起來就分下面幾點:
比如 http://stars.chromeexperiments.com/ 的個網站整體都是用 Three.js 繪製而成,需要有很好的數學和物理基礎,動態交互設計能力和研發能力。
包括現在最熱的 AR/VR 領域,同樣可以結合 Big Data,像這一塊還是在編程語言和設備介面的區別上,底層我們需要的知識都是一樣的。
無論我們是數據分析工程師,前端開發工程師,或是交互開發都是有可能發展成可視化工程師,最關鍵是對數據的理解及業務的分析,開發語言和工具只不過是過程手段罷了。
瀉藥,我看到的數據可視化,按照某種分類大致是2種,結果導向和工具導向的。
結果導向的人,偏向用可視化工具去獲取一些結果,但往往是case by case的,,比如各種數據分析師(BI), 老闆有個idea,運營需要一些數據支持,需要研究個商業現象,他們就跑個結果出來看看,有時也許只要一張最後的圖放ppt就好了。這些人也包括題主說的諮詢公司通過數據可視化去發現問題尋找答案。這些人更多的是問題導向和方法導向的,你光懂可視化不行,得了解些演算法,了解些商業,有些方法論層面的積累,可視化主要是工具,他們熟悉tableau,熟悉r的ggplot 但大部分人只是使用而已,是自己工作鏈路的一個小環節,不大會去精心設計可視化工具。
對於工程人員而言,更多的是注重工具本身,這種工具也許是通用性的(阿里雲數加平台的各種工具), 也許是綁定了商業邏輯的(比如過去的淘寶指數,數據魔方),但歸根結底是個帶可視化的工具,你不用安裝xx軟體,打開瀏覽器就能看,不會網速上卡很久,數據要保證安全,渲染性能要好,交互要量身定製,對你的需求做了最多的優化。
因此,另一批搞可視化的是做工程的,做數據產品,針對具體的case,把通用性可視化工具的能力輸出到網站,針對特定的業務需求做深度優化,讓一類用戶可以方便地實現自己的查詢流,這些人(我們..) 更多是需要前端能力的積累,而其中也許也能有幾種能力的分類
1、偏前端架構,中間層、組件化,然後會些chart的能力
2、專註可視化,深耕component。這裡我覺得大致是分為 GIS相關、chart、graph三個大塊:
Chart如echarts、highcharts、g2這些圖標庫的主流圖表,需求量和供應量都很大,已是紅海,2年前也許說因為開源界的圖表都沒有滿足你的需求,所以我要自己搞定製,但現在越來越通用了,學習成本相對比較低,而完善的開源組件,讓0-1的輪子工程師需要做好翻山越嶺的準備。
GIS的話需要有些專業積累,瓦片的原理,投影轉換,行業通用規範,如果了解webgl等是加分項, 有意思的是,我發現國外諸多寫webgl書的作者,都是某個gis庫的維護者,如census.js作者寫了一疊子webgl的書,如the book of shaders 的作者是 mapzen的 Patricio Gonzalez Vivo ,因此也許gis相關的業務這是webgl在遊戲外最大的應用場景,所以如果你對3d感興趣的 可以考慮地理相關的可視化。
Graph又是另外一塊,plantir作為矽谷未上市的巨無霸,很大一塊是在做異構網路的數據模型和可視化,在金融、安全等場景等都會有很多應用,另外我們也許更熟知網路聚類,通過力引導關係去實現聚類等場景。我了解的是支付寶、阿里、IBM都是有組專門研究Graph的,這塊要做深可以挺深,而且對用戶要求的專業度也比較高,比較抽象網路沒有地理類那麼容易理解,所以公司也能出來一些學霸級的研究者,比如胡一凡先生 yifan hu"s home page 胡一凡
好了 BB完了放廣告一枚
眾安保險數據科學團隊(上海)招聘可視化工程師,希望是web背景,也就是上文中第二類人群
有志於結合數據分析、可視化與金融業務的朋友,希望你們的簡歷(私我或 zny918@126.com)
瀉藥
但是我是小白啊,那就說說我的見解吧
最近這段時間在找數據可視化方向的工作,在各大網站搜可視化的崗位的時候,發現可視化大多數是作為大前端領域的一個子方向出現的。
我認為想成為前端可視化工程師(也有非前端方向的,就先說前端這部分吧),前端這一塊的東西是必不可少的(貌似說了句廢話),HTML/CSS/JAVASCRIPT,有了前端基礎之後再學習一些可視化庫,比如d3js,echarts等等,這是技術方面。
其次還有一個很重要的就是理論部分的內容,要成為一個可視化工程師,數據可視化必備的理論肯定要有,比如當今數據可視化的應用領域、分析手段、遇到的瓶頸以及針對不同數據適合的圖表等等,這些可以去找一些文獻來看,也有書比如陳為的&<&<數據可視化&>&>,邱南森的&<&<數據之美&>&>等等。
歡迎各路大神補充指正。
大四狗來回答一下
我和題主很像,應屆生,很喜歡數據可視化這個方向,現在在一家做GIS的公司實習,算是半個數據可視化工程師吧。
我覺得從前端切入是一個很好的選擇,因為網頁是數據可視化最好的載體,一般的軟體要麼只能安裝後看效果,要麼只能出一張圖,而在網頁上可以在不安裝額外工具的前提下展示可以交互的可視化效果,而且前端也有很多非常成熟的可視化工具(echarts,d3,three.js等)。
但是對於數據可視化工程師來說,僅僅會用現成的工具來做圖肯定是不夠的,因為很多時候這些工具表達不了你想要的效果,所以必須要有自己開發可視化效果的能力。
所以對於要想走可視化這個方向的前端開發者來說,除了要會前端的基礎技能以外,還要掌握svg,canvas和WebGL這些繪製圖形的技術。
我覺得WebGL是特別需要重點關注的技術,前端的短板在於性能,而WebGL利用GPU強大的並行計算能力來加速運算,可以流暢地在網頁中繪製上百萬個點,所以WebGL可以繪製大數據量的三維場景或動畫。
下圖是uber的計程車軌跡動畫, 光線似乎會根據當地時間變化,截圖的時候他們是晚上,所以比較暗 。這是用他們自己基於WebGL開發的庫deck.gl做的
deck.gl計程車軌跡
mapbox也有自己基於WebGL的工具,叫Mapbox GL,我特別喜歡mapbox做的圖,設計感很強,我在實習時用SDK做的很多DEMO都是參考mapbox來做的。
Dive into large datasets with 3D shapes in Mapbox GL舊金山人口分布
我實習的主要工作是開發公司前端數據可視化的SDK,主要也是用WebGL,原來這套SDK只有平面的形式來展示數據,我負責增加三維展示的功能。
下面幾個都是我們開發的SDK做的
北京市居住人口網格分布
北京市居住人口沿經緯度分布
北京出發的航線
我是前端進入數據可視化領域的。並不知道是否還有其他途徑的,覺得應該都可以,你想不管做什麼項目都是需要一整套人員的。所以任何途徑,後台啊,測試應該都可以,只是看你在哪個部門。
我只是說說對於從前端進入這個領域,需要準備些什麼:
首先是基礎的,也就是每個前端都必須會的: html,css,js,jquery,ajax。
然後,你需要知道:
1.http (圖解http那本書過一遍就差不多了,初步進入不需要深究)
2.git,svn 挑一個(或者 both,知道基礎用法,push,update,add,commit 這些)
3.linux系統有了解(現在基本都用的是linux系統開發,對他的操作命令之類了解,當然這也結合你的公司)
4.一些新的框架用過,了解或者會用(像 angularjs,reactjs 等,如果是針對性的可以去了解一下 echarts,highcharts,d3.js)
5.一份不錯的簡歷
6.一點好運氣
其中除了基礎的那些,都是可以進入公司再培養,通常面試都會問你一下 用過沒有,http一般也是會問一些基礎的3次握手啊,狀態碼之類。
以上不適合大牛級別。
-
謝邀。據個人從業的經驗來看,前端工程師和數據可視化工程師各有側重,前者側重於網頁設計、前端框架實現及前端與後台交互邏輯實現,後者則側重於對數據的理解、大數據分析及編程能力。
- 熟悉常用數據結構和演算法,熟悉linux系統,掌握Java或者Python,至少熟悉一種腳本語言。
- 熟悉數據可視化前端工具,如nvd3、node.js、angularjs、d3.js、echart中的一種,多種加分。
- 熟悉網頁開發,能使用javascript/css實現高性能的交互效果。
- 對Hadoop及周邊生態系統熟悉,比如Hbase、Hive、Spark、ES中的一種或幾種。
以上。
-
數據可視化工程師是基本可以認為是全能型選手,需要掌握獲取,存儲,分析,可視化等技能。具體可以看 在Gis、VR的浪潮下,當今年輕人該如何逐浪並自保? - 知乎
我認為從前端入門可視化是是比較正確的,除了基本的前端技術外,需要重點掌握的前端技術是canvas,svg,webgl, 庫d3.js three.js 以及map相關的技術
另外還有具有數據獲取,處理的,分析能力,今年來數據可視化很多有跟空間數據相關,需要理解GIS的相關專業知識,像投影,切片,空間關係運算等等。
我來試著會回答下把。
先介紹下自己,之前在IBM BI產品(Cognos)做軟體工程師,參與過Cognos圖表系統的開發。同時做過幾個數據可視化的項目。來說說我的一些心得和看法吧。
在傳統的企業中,例如保險業和銀行業,都有成熟的BI產品。數據可視化工程師類似於BI工程師,一般是老闆有一個想法,想看一些數據,那麼這些BI工程師會應用BI產品例如Cognos,SAP的水晶報表來製作相應的報表,這中間就會設計各種的圖表來反應數據。這就需要BI工程師既熟悉BI工具,又要對於Business有相應的理解,這樣才能設計出好的報表。
當然數據可視化不僅僅局限在報表這一個領域,在每個領域中,目前有越來越多的數據展示需求了,這時候通用的BI產品可能並不能滿足我們的需求,那麼就要設計自己的數據展示的系統,例如我之前參與過的一個關於空氣污染防護的項目,就需要很多反應氣象數據的特殊圖表。例如:
這種展示的風力,風向數據的風力風向圖。
這種風向玫瑰圖。
以及這種用於展示污染指數的Heatmap:
為了實現這些圖表,就需要可視化工程師需要有前端工程師的技能,可以利用現有的庫和框架,來實現這些需求,常用的庫有Chart.js HightCharts,Echarts,D3.js等等。這個時候的工作往往類似於一個前端工程師。
目前可能多數的數據可視化工程師與前端工程師有很大的重合,但是我認為數據可視化工程師的功力在於如何能更好的反應和表達數據,讓數據能夠說明更多的問題。這麼說可能有些空洞和抽象,那麼來個例子吧。
例如有一個市場調查,調查了受訪者的使用的什麼品牌的手機,那麼就可以算出各個品牌手機市場佔有率的情況,一般我們會用一個餅圖來進行表示,像這樣的:
但是如果我們多加一個問題,問受訪者上個手機是什麼品牌的,那麼我們就能得到受訪者的手機品牌轉換的數據,經過一些計算他們可能是這樣的:(下圖單位是%)
從這些數字上能看到什麼呢?可能什麼也看不出來,那麼如何用數據可視化展現這些數據呢?
利用Chord Chart(弦圖)是一個很好選擇。Chord Chart 能很好的展現出數據之間的交互關係,例如不同國家間的移民數據關係等等這些數據。至於怎麼看懂Chord Chart,有空我寫另一篇文章來介紹。
另外還有一種職業叫 Data Journalist ,廣義上來講也可以理解為數據可視化工程師的一部分。可以看看這個例子。http://graphics.wsj.com/infectious-diseases-and-vaccines/
總結一下,數據可視化工程師,掌握著紮實的前端技術,能夠設計出各種圖表幫助人們更好的理解數據。我也在這條路上努力前行著:)數據可視化的重點在於如何呈現數據。重點在於數據,呈現是手段。別一味玩酷炫,而忘記你的目的:幫助使用者更好的理解數據。
別做著做著,做成前端了,這是本末倒置目前來講所謂的數據可視化,其中"數據","可視化"是兩個概念,傳統的僅僅是將數據通過各種圖形化展現出來,這是最low的一種方式(如:數字冰雹),最終形成的僅僅的形象工程。目前流行的大數據沒有一種是現成可以直接去展現的,大部分需要去做處理,不寫了明天寫!!!!!!!
我們是一家做業務安全的公司,所以不可避免的會接觸到大規模的數據,對於這些數據怎麼很好的展示給客戶,展示給自己看,減少閱讀壓力,數據可視化是必不可少的,我們的UI設計師就曾就數據可視化談了自己的一點想法,做數據可視化,最不可或缺的就是圖表,選什麼類型的圖表在不同的場合有不同的效果,以下是我們UI設計師的一點分享:
前言
從客觀邏輯來講,直觀的數字的確比抽象的圖形更有可信度,但是大腦卻對處理圖形內容上會更容易理解。就像下圖一樣,我只是給你光禿禿的數據表格,也許你會漏掉一些有價值的東西。但是好的可視化來表達這些數據,你會挖掘數字背後的信息。
之前列舉過很多複雜又有趣的可視化案例,這次準備談一談數據可視化圖表中的視覺暗示。
當我們設計可視化圖表的時候,首先,我們要知道我們有什麼數據,需要哪些元素來二次加工這些數據。這時,我們就要先了解到可視化的組件有哪些?在這裡我將它分為幾個部分用下圖作示範。
視覺暗示
這些組件相互協作。其中視覺暗示是組件中重要的一部分,如果選擇錯誤的視覺暗示便會影響到其他的組件,使圖表變成無用的圖形。我們能用到的視覺暗示通常有:長度、面積、體積、角度、弧度、位置、方向、形狀和顏色。所以正確的選擇哪些視覺暗示就取決於你對形狀、顏色、大小的理解,以及數據本身和目標。
1長度
我們經常看到的柱狀圖、條形圖,這就是長度的視覺暗示。數值越大,長度就會越長。經常用於對比類數據里。長度是圖形中兩端之間的距離,坐標中最小值要從0值開始,否則並不能準確的反映出真實的價值。
2面積和體積
我們普遍都會將數值大小用物體的大小來表達。長度和面積通常用在二維空間里的數值大小對比,體積則用在三維空間里進行多維度對比。這裡要強調兩點:第一,你要注意你用的是幾維空間;第二,面積大小應該按照面積進行擴大縮放,而不是長寬。
3角度和弧度
角度是相交於一個點的兩個向量,取值範圍在0度到360度,形成一個圓形。
角度的視覺暗示一般都用在餅圖。這時候你也許會聯想到餅圖的近親:環形圖,但環形圖的本質是將餅圖的中間區域切除,所以環圖的視覺暗示並不是角度,而是弧度。
餅圖和環形圖的優勢是讓用戶快速的了解到數據之間的佔比分配,但是如圖,它們不適用於過多分類的數據。
4方向
方向是指坐標繫上一個向量的斜度,可以看到上下左右及其他方向。一般用在折線圖上,表現是增長、下降還是波動。這裡要注意一點,隨著坐標軸的比例變化,斜度的大小也會受到很大影響。所以根據實際情況,適當調整比例,使變化大的數據放大比例來突出差異,反之,變化微小且不重要的,避免放大比例。
5位置
散點圖就用了空間中的位置作為視覺暗示,通過點的形式展現在x、y坐標軸上。每個點代表一個數據,點的位置由變數的數值決定。當大量數據展示出來的時候,就可以看出趨勢和相關性,並且比別的視覺暗示佔用空間更少。
趨勢:上升、下降;
相關性:集群、離群。
6形狀
當在一個圖表中有多個對象和分類時,用不同形狀或者符號來表示。這就是形狀上的暗示,通常運用在散點圖內,符號或者形狀比顏色更容易區分類別。比如用文字元號表示不同分類。
7顏色
在圖表的顏色視覺暗示中分為兩種,色相和飽和度。
色相是指區別紅、黃、綠、藍等各種顏色,運用在在圖表中不同顏色可以表示不同的數據分類。
飽和度是指色彩的純度,顏色的純度越高則飽和度越高,如鮮紅;混雜了白色、灰色或其他色調的顏色,則飽和度越低,如粉紅、黃褐等。在圖表中可以用一種顏色飽和度的高低表示同一變數程度的高低。
運用顏色做暗示時,要注意考慮到色盲、色弱人群可能不容易通過顏色來區分圖表的緯度和變數。
下面結合多個視覺暗示的舉例
色相+位置+長度 ?
顏色(色相+飽和度)+面積+位置 ?
符號+顏色+位置 ?
更多乾貨請關注豈安科技微信公眾號:bigsec豈安科技
先成為數據分析工程師
參考我的一個類似問題回答:如何將枯燥的大數據呈現為可視化的圖和動畫? - 張宏倫的回答 - 知乎
占坑。I come.
等我成為。I conquer.1.懂數據:知道不同業務數據對應的展示方式以及最佳的展示方式
2.懂可視化:《數據之美》一書中,提到的四種主要的可視化的組件:視覺暗示、坐標系、標尺以及背景信息,弄懂並熟練應用~
3.懂設計:善於運用頁面布局、色彩等設計知識
4.熟悉R或Python,可以寫簡單的爬蟲,自己爬數據
5.找一家專門做數據可視化的公司去實踐,比如DataHunter~
首先你要能看得見
康拓普數據洞察平台是一款互聯網、大數據時代,自助式的企業數據可視化分析工具,提供強大的數據分析功能,包括:圖形化數據建模、SQL數據建模、自助智能分析、多維數據分析、豐富的圖表展示、一鍵式數據視角切換、自由拖拽布局、多圖表數據聯動、數據透視鑽取、多終端跨平台展示等。
康拓普數據洞察平台,能有效降低數據分析的難度,助力企業釋放出數據的價值,幫助用戶快速響應業務變化的需求,為企業決策者進行精準快速的決策,提供強力支撐。
http://www.szcomtop.com/dinsight/index.html
正在南藝學習信息可視化的大三學生,自己是從設計方面切入的,平時學習的都是信息圖表,現在跟隨老師做數據可視化。設計切入也很棒啊。
推薦閱讀:
※什麼是大數據,什麼是大數據概念?
※為什麼很多公司都開始去oracle而使用mysql?
※大數據真的可以預測未來嗎?
※張佳瑋說2009年的第一中鋒是姚明是否有失偏頗?