『壹』 有哪些值得推薦的數據可視化工具
大講台數據可視化培訓為你解答:
第一部分:入門級工具
1、Excel
Excel的圖形化功能並不強大,但Excel是分析數據的理想工具,上圖是Excel生成的熱力地圖
作為一個入門級工具,Excel是快速分析數據的理想工具,也能創建供內部使用的數據圖,但是Excel在顏色、線條和樣式上可選擇的范圍有限,這也意味著用Excel很難製作出能符合專業出版物和網站需要的數據圖。但是作為一個高效的內部溝通工具,Excel應當是你百寶箱中必備的工具之一。
2、CSV/jsON
CSV(逗號分隔值)和JSON(javaScript對象注釋)雖然並不是真正的可視化工具,但卻是常見的數據格式。你必須理解他們的結構,並懂得如何從這些文件中導入或者導出數據。以下將要介紹的所有數據可視化工具都支持CSV、JSON中至少一種格式。
第二部分:在線數據可視化工具
3、GoogleChartAPI
GoogleChartAPI工具集中取消了靜態圖片功能,目前只提供動態圖表工具。能夠在所有支持SVG\Canvas和VML的瀏覽器中使用,但是GoogleChart的一個大問題是:圖表在客戶端生成,這意味著那些不支持JavaScript的設備將無法使用,此外也無法離線使用或者將結果另存其他格式,之前的靜態圖片就不存在這個問題。盡管存在上述問題,不可否認的是GoogleChartAPI的功能異常豐富,如果沒有特別的定製化需要,或者對Google視覺風格的抵觸,那麼你大可以從GoogleChart開始。
4、Flot
Flot是一個優秀的線框圖表庫,支持所有支持canvas的瀏覽器(目前主流的瀏覽器如火狐、IE、Chrome等都支持)。
5、Rapha?l
Rapha?l是創建圖表和圖形的JavaScript庫,與其他庫最大的不同是輸出格式僅限SVG和VML。SVG是矢量格式,在任何解析度下的顯示效果都很好。
6、D3
D3(DataDrivenDocuments)是支持SVG渲染的另一種JavaScript庫。但是D3能夠提供大量線性圖和條形圖之外的復雜圖表樣式,例如Voronoi圖、樹形圖、圓形集群和單詞雲等。雖然D3能夠提供非常花哨的互動圖表,但你在選擇數據可視化工具時,需要牢記的一點是:知道在何時保持簡潔。
7、Visual.ly
如果你需要製作信息圖而不僅僅是數據可視化,目前也有大把的工具可用。Visual.ly就是最流行的一個選擇。雖然Visual.ly的主要定位是:「信息圖設計師的在線集市」,但是也提供了大量信息圖模板。雖然功能還有很多限制,但是Visual.ly絕對是個能激發你靈感的地方。
第三部分:互動圖形用戶界面(GUI)控制
如果數據可視化的互動性強大到可以作為GUI界面會怎樣?隨著在線數據可視化的發展,按鈕、下拉列表和滑塊都在進化成更加復雜的界面元素,例如能夠調整數據范圍的互動圖形元素,推拉這些圖形元素時輸入參數和輸出結果數據會同步改變,在這種情況下,圖形控制和內容已經合為一體。以下這些工具能夠幫你實現這些功能:
8、Crossfilter
當我們為方便客戶瀏覽數據開發出更加復雜的工具時,我們已經能夠創建出既是圖表,又是互動圖形用戶界面的小程序。JavaScript庫Crossfilter就是這樣的工具。
Crossfilter應用:當你調整一個圖表中的輸入范圍時,其他關聯圖表的數據也會隨之改變。
9、Tangle
JavaScript庫Tangle進一步模糊了內容與控制之間的界限。在下圖這個應用實例中,Tangle生成了一個負載的互動方程,讀者可以調整輸入值獲得相應數據。
第四部分:地圖工具
地圖生成是web上最困難的任務之一。GoogleMaps的出現完全顛覆了過去人們對在線地圖功能的認識。而Google發布的MapsAPI則讓所有的開發者都能在自己的網站中植入地圖功能。
近年來,在線地圖的市場成熟了很多,如果你需要在數據可視化項目中植入定製化的地圖方案,目前市場上已經有很多選擇,但是知道在何時選擇何種地圖方案則成了一個很關鍵的業務決策。地圖方案看上去功能都很強大,但是切忌:「有了一把錘子,看什麼都像釘子。」
10、ModestMaps
顧名思義,ModestMaps是一個很小的地圖庫,只有10KB大小,是目前最小的可用地圖庫。這似乎意味著ModestMaps只提供一些基本的地圖功能,但是不要被這一點迷惑了。在一些擴展庫的配合下,例如Wax,ModestMaps立刻會變成一個強大的地圖工具。
11、Leaflet
CloudMade團隊為大家帶來了Leaflet,這是另外一個小型化的地圖框架,通過小型化和輕量化來滿足移動網頁的需要。Leaflet和ModestMaps都是開源項目,有強大的社區支持,是在網站中整合地圖應用的理想選擇。
12、PolyMaps
Polymaps是另外一個地圖庫,但主要面向數據可視化用戶。Polymaps在地圖風格化方面有獨到之處,類似CSS樣式表的選擇器,是不可錯過的好東西。
13、OpenLayers
OpenLayers可能是所有地圖庫中可靠性最高的一個。雖然文檔注釋並不完善,且學習曲線非常陡峭,但是對於一些特定的任務來說,OpenLayers無可匹敵。例如能夠提供一些其他地圖庫都沒有的特殊工具。
14、Kartograph
Kartograph的標記線是對地圖繪制的重新思考,我們都已經習慣了莫卡托投影(Mercatorprojection),但是Kartograph為我們帶來了更多的選擇。如果你不需要調用全球數據,而僅僅是生成某一區域的地圖,那麼Kartogaph將使你脫穎而出。
15、CartoDB
CartoDB是一個不可錯過的網站。你可以用CartoDB很輕易就把表格數據和地圖關聯起來,這方面CartoDB是最優秀的選擇。例如,你可以輸入CSV通訊地址文件,CartDB能將地址字元串自動轉化成經度/維度數據並在地圖上標記出來。目前CartoDB支持免費生成五張地圖數據表,更多使用需要支付月費。
ChartingFonts(隨著iPad3等高清移動設備的普及)web開發的一個最新趨勢是將符號字體與字體整合(把符號變成字體),創建出漂亮的矢量化圖標。在這些新型字體中,例如FFChartwell和Chartjunk是專門用來顯示圖表和圖形的。他們與OpenType碰到的問題一樣,就是不能被所有的瀏覽器支持,但是不久的未來這些矢量字體將是數據可視化工作中需要考慮到的因素。
第五部分:進階工具
如果你准備用數據可視化做一些「嚴肅」的工作,那麼你可能不會對在線可視化工具或者web小程序有太大興趣,你需要的是桌面應用和編程環境。
16、Processing
Processing是數據可視化的招牌工具。你只需要編寫一些簡單的代碼,然後編譯成Java。目前還有一個Processing.js項目,可以讓網站在沒有JavaApplets的情況下更容易地使用Processing。由於埠支持Objective-C,你也可以在iOS上使用Processing。雖然Processing是一個桌面應用,但也可以在幾乎所有平台上運行,此外經過數年發展,Processing社區目前已近擁有大量實例和代碼。
17、NodeBox
NodeBox是OSX上創建二維圖形和可視化的應用程序。你需要了解Python程序,NodeBox與Processing類似,但是沒有Processing的互動功能。
第六部分:專家級工具
與Excel相對的是專業數據分析工具。如果你是一個專業的數據分析師,那麼你就必須對下面將要介紹的工具有所了解(如果不是精通的話)。眾所周知,SPSS和SAS是數據分析行業的標准工具,但是這些工具的費用不菲,只有大型組織和學術機構才有機會使用,下面我們介紹幾種免費的替代工具,這些開源工具的共同特徵是都有強大的社區支持。開源分析工具性能不輸老牌專業工具,插件的支持甚至更好。
18、R
作為用來分析大數據集的統計組件包,R是一個非常復雜的工具,需要較長的學習實踐,學習曲線也是本文所介紹工具中最陡峭的。但是R擁有強大的社區和組件庫,而且還在不斷成長。當你能駕馭R的時候,一切付出都是物有所值的。
19、Weka
當你成長成一名數據科學家的時候,你需要將個人能力從數據可視化擴展到數據挖掘領域。Weka是一個能根據屬性分類和集群大量數據的優秀工具,Weka不但是數據分析的強大工具,還能生成一些簡單的圖表。
20、Gephi
Gephi是進行社交圖譜數據可視化分析的工具,不但能處理大規模數據集並生成漂亮的可視化圖形,還能對數據進行清洗和分類。Gephi是一種非常特殊的軟體,也非常復雜,先於他人掌握Gephi將使你一騎絕塵。
『貳』 gephi 8.0的基於時間順序的關系圖數據格式是什麼樣子的
關系圖數據格式是.csv的文件格式,可以將.xls文件直接另存為.csv。
另如果創建網路圖,直接導入邊表信息就可以,節點可以通過gephi自動創建。
gephi 0.8.2是款簡單實用的網路分析軟體;用戶可以通過這款軟體,輕松的進行網路社交圖的分析、繪制,並且擁有的功能等也是相當的實用,包括了社交網路分析、探索性數據分析、生物網路分析等。
軟體還可以兼容主流的操作系統,使您這進行使用的時候更加的擁有選擇性,而且軟體已將被應用於生物醫學、互聯網、交通網路分析等領域;Gephi網路分析工具的用戶界面也是非常的友好,操作簡單。
軟體功能:
1、Gephi 是一款網路分析領域的數據可視化處理軟體,其目標是成為 「數據可視化領域的Photoshop」。
2、Gephi是一款開源的互動式的復雜網路分析平台。
3、它支持Windows, Mac OS X以及Linux等環境。
4、Gephi被用於互聯網,生物醫學,交通網路分析等各個領域。
5、Gephi 是一款開源免費跨平台基於JVM的復雜網路分析軟體, 其主要用於各種網路和復雜系統,動態和分層圖的交互可視化與探測開源工具。
『叄』 如何處理gexf文件
版權所有2008-2010 Gephi的
作者:馬修Bastian <[email protected]>的
網址:http://www.gephi.org的
此文件屬於Gephi。
Gephi是自由軟體:您可以重新分配和/或修改
根據GNU Affero通用公共許可證的條款
自由軟體基金會,無論是第3版的出版
許可證,或(在你的選項)任何更新的版本。
Gephi分布在希望,這將是有用的,
但沒有任何擔保,甚至沒有隱含的擔保
適銷性或針對特定用途的適用性。請參閱
GNU Affero通用公共許可證的更多細節。
您應該已經收到GNU Affero通用公共許可證的副本
隨著Gephi。如果沒有看到<http://www.gnu.org/licenses/>。
* /
包org.gephi.toolkit.demos;
進口的java.io.File;
進口java.io.IOException異常;
導入java.util.concurrent.TimeUnit;
進口org.gephi.graph.api.DirectedGraph;
進口org.gephi.graph.api.GraphController;
導入org.gephi.graph.api.GraphModel;
進口org.gephi.io.exporter.api.ExportController;
進口org.gephi.io.importer.api.Container;
導入org.gephi.io.importer.api.EdgeDefault;
進口org.gephi.io.importer.api.ImportController;
導入org.gephi.io.processor.plugin.DefaultProcessor;
導入org.gephi.layout.plugin.AutoLayout;
導入org.gephi.layout.plugin.force.StepDisplacement;
導入org.gephi.layout.plugin.force.yifanHu.YifanHuLayout;
導入org.gephi.layout.plugin.forceAtlas.ForceAtlasLayout;
進口org.gephi.project.api.ProjectController;
導入org.gephi.project.api.Workspace;
導入org.openide.util.Lookup;
/ **
*本演示展示了如何使用的<code>自動版式</ code>類運行布局
*編程。
* <P>
*您可以設置一個的布局持續時間,比幾個布局和執行。為
*比如你設置0.8為胡一帆演算法和0.2標簽調整。如果
*執行時間為100秒,則80秒的第一演算法運行和
*秒20秒。它還允許動態改變屬性值
*(按一定比例或內插,如果值是數值)。
*
* @作者馬修巴斯蒂安
* /
公共 類 WithAutoLayout {
公共 無效 腳本(){
/ /初始化一個項目 - 工作區
/ /һĿ - һ
ProjectController PC = Lookup.getDefault()。查找(ProjectController.類);
pc.newProject();
工作區工作區= pc.getCurrentWorkspace();
/ /附加容器圖形結構
/ /圖像νṹ
ImportController importController = Lookup.getDefault()。查找(ImportController. 類);
/ /導入文件
/ / L
集裝箱容器;
嘗試 {
檔案文件
容器:= importController.importFile(文件);
container.getLoader()。setEdgeDefault(EdgeDefault.DIRECTED); / /力
(container.setAllowAutoNode ; / /不要創建缺少的節點
} 趕上 (例外){
ex.printStackTrace();
返回;
}
importController.process(容器,的新 DefaultProcessor(),工作區);
/ /查看圖以及進口
/ /ͼ
而GraphModel而GraphModel = Lookup.getDefault()。查找(GraphController. 類)。getModel();
的DirectedGraph圖= graphModel.getDirectedGraph();
( I = 1 ; <= graph.getNodeCount(); + +){
/ /(「節點:」+ graph.getNode(I)。getNodeData());
}
(「邊緣:」 + graph.getEdgeCount());
/ /布局1分鍾
/ / 1
/ / ^ ^
長 = 0 ;
如果 (graph.getEdgeCount()> 20000 ){
時間=(長)(((雙)graph.getEdgeCount()/ 80 ));
/ /(「日誌:黃正:」+ DateUtil.time2str((int)的System.currentTimeMillis的(),「YYYY-MM-DD HH:MM:SS」)+「當前<STRONG>生成</ >圖像所花費的時間:「+時間);
其他
(graph.getEdgeCount()> 12000 ){
時間=(長)(((雙)graph.getEdgeCount()/ 85 ));
/ /(「日誌:黃正:」+ DateUtil.time2str((int)的System.currentTimeMillis的(),「YYYY-MM-DD HH:MM:SS」)+「當前<STRONG>生成</ >圖像所花費的時間:「+時間);
否則 ,如果 (graph.getEdgeCount()> 8000 ){
時間=(長)(((雙)graph.getEdgeCount()/ 90 ));
/ /(「日誌:黃正:」+ DateUtil.time2str((int)的System.currentTimeMillis的(),「YYYY-MM-DD HH:MM:SS」)+「當前<STRONG>生成</ >圖像所花費的時間:「+時間);
其他 (graph.getEdgeCount()> 5000 ){
時間=(長)(((雙)graph.getEdgeCount()/ 95 ));
/ /(「日誌:黃正:」+ DateUtil.time2str((int)的System.currentTimeMillis的(),「YYYY-MM-DD HH:MM:SS」)+「當前<STRONG>生成</ >圖像所花費的時間:「+時間);
否則 ,如果 (graph.getEdgeCount()> 100 ){
時間=(長)(((雙)graph.getEdgeCount()/ 100 ));
/ /(「日誌:黃正:」+ DateUtil.time2str((int)的System.currentTimeMillis的(),「YYYY-MM-DD HH:MM:SS」)+「當前<STRONG>生成</ >圖像所花費的時間:「+時間);
其他 {
時間= 1 ;
}
自動版式自動版式= 新的 自動版式(時間,TimeUnit.SECONDS);
autoLayout.setGraphModel(而GraphModel);
YifanHuLayout secondLayout = 新 YifanHuLayout(空,新StepDisplacement(3420));
ForceAtlasLayout firstLayout =:新 ForceAtlasLayout(空);
AutoLayout.DynamicProperty adjustBySizeProperty = AutoLayout.createDynamicProperty(的「forceAtlas.adjustSizes.name」 ,Boolean.TRUE,0 .1 F); / /真後,10%的布局時間
AutoLayout.DynamicProperty repulsionProperty = AutoLayout.createDynamicProperty(的「forceAtlas.repulsionStrength.name」 ,新的雙(500 ),0F); / / 500的完整周期
autoLayout.addLayout(firstLayout,0 .5樓新 AutoLayout.DynamicProperty [] {adjustBySizeProperty,repulsionProperty});
autoLayout.addLayout(secondLayout,0 .5 F);
autoLayout.execute();
/ / ^ ^
/ /導出
ExportController EC = Lookup.getDefault()。查找(ExportController.類);
嘗試 {
ec.exportFile(新的 文件(「WebRoot/WEB-INF/weiboGexf/io_gexf2.gexf」 ));
} 漁獲 (IOException異常前){
ex.printStackTrace();
}
}
公共 靜態 無效的 主要(字串[] args){
WithAutoLayout的autoLayout =的新 WithAutoLayout();
autoLayout.script();
/ /的System.out.println();
}
}
『肆』 gephi數據資料界面空白是怎麼回事
回到概覽界面,點擊上方 「窗口」,依次打開「預覽」和「預覽設置」,成功顯示。
一開始顯示的圖片和概覽不一樣,調整一些屬性就差不多了,比如顏色選擇「原始的」。記得在數據資料里設置節點/邊的label,否則無法顯示標簽
Gephi教程———數據輸入
在上一篇文章中,我們主要介紹了Gephi整個界面的布局以及Gephi中對於圖形的一些基本操作和基本設置。在接下來的內容中,我們將重點如何利用數據在Gephi中生成可視化圖。
1 Gephi中的圖形存儲
在這一小節,我們來關注Gephi對於圖形數據的存儲問題。首先,為了便於展示,先給出一個基本的圖形:
如上所示,我們給出了三個點的表示,這是一個簡單的有向圖。
1.1 圖形輸出的基本格式
當我們選擇將圖形輸出,保存到文件的時候,文件的類型可以有很多的選擇,首先,最基本的是輸出成.gephi類型的文件。這是gephi獨有的文件類型。但是為了在其他的軟體中查看,gephi也可以選擇輸出成其他類型的文件。具體如下:
可以看出,Gephi可以輸出成PDF,圖片,CSV等形式。這里需要注意的是,.gephi類型的文件不是通過明文存儲的,也就是無法通過.gephi作為存儲的格式,但是Gephi給出了.gexf作為明文存儲格式。為了更好理解這種專屬的存儲格式,我們下面給出關於上面圖形的gexf文件描述:
這里我選擇使用的是記事本打開,這里可以看到,之間保存所以的節點信息之間保存的是關於一個節點的描述,這些描述包括節點的大小,位置,顏色等等。之間保存的所有的邊的信息,中保存的邊的id,頭尾節點等信息。如果各位讀者之前對於HTML有一些了解的話,想必對於這個部分的理解並不困難。
最後,我們在來回顧一下,在數據資料界面的數據描述:
可以看到,數據資料界面沒有將一個圖形文件中的所有數據展示,在節點展示中,只展示了ID,Label,Interval三個選項,在邊的展示中,只展示了頭尾節點,類型,邊的ID,Label,Interval,Weight等選項