在Python的數據可視化領域中,諸如Matplotlib、Seaborn、Bokeh、Plotly以及Pyecharts等庫以其豐富的圖形展示能力和美學設計深受開發者喜愛。但在滿足日益增長的動態與交互式數據探索需求方面,部分庫的功能顯得相對有限。
D3blocks作為一款動態交互式數據可視化工具,它不僅繼承了現有庫們強大的視覺表現力,更以實時更新和用戶深度交互為核心特色,有效彌補了市場上的這一空缺。
pip install d3blocks
D3Blocks目前囊括了一系列創新且功能豐富的動態交互式圖表模塊。這些模塊包括:時間序列圖(Timeseries)、和弦圖(Chord)、彈性圖(Elasticgraph)、桑基圖(Sankey)、熱力圖(Heatmap)等。
下面這段代碼展示了如何利用D3Blocks進行時間序列數據的繪制:
# 導入D3Blocks庫from d3blocks import D3Blocks# 創建D3Blocks對象實例d3 = D3Blocks()# 加載示例數據集(此處為氣候相關數據)df = d3.import_example('climate')# 調用timeseries方法來繪制時間序列圖表d3.timeseries(df, datetime='date', dt_format='%Y-%m-%d %H:%M:%S', fontsize=10, figsize=[850, 500])
執行上述代碼后,D3Blocks將會基于給定的數據幀df中的日期時間信息生成一個高度交互且視覺效果出眾的時間序列圖表。如下圖所示。
下面這段代碼展示了如何利用D3Blocks進行和弦圖的繪制:
from d3blocks import D3Blocks# 創建D3Blocks對象實例d3 = D3Blocks()# 加載內置的數據示例df = d3.import_example('energy')# 調用chord方法來繪制和弦圖d3.chord(df)
D3graph是一個動態可交互的關系網圖,可以設置每個節點的顏色,以及大小,甚至可以在關系網上添加箭頭。下面這段代碼展示了如何利用D3Blocks進行D3graph的繪制:
# 導入D3Blocks庫并創建一個實例from d3blocks import D3Blocksd3 = D3Blocks()# 加載內置的'energy'數據集作為示例數據df = d3.import_example('energy')# 使用d3graph方法繪制自定義D3圖形,并將結果保存為HTML文件 'd3graph.html'd3.d3graph(df, filepath='d3graph.html')# 設置圖形縮放方式為minmax歸一化(默認可能為其他縮放方法)d3.d3graph(df, scaler='minmax')# 調整D3圖形節點屬性設置,先重置顏色為None(不指定顏色)d3.D3graph.set_node_properties(color=None)# 設置'Solar'大小為30d3.D3graph.node_properties['Solar']['size'] = 30# 設置'Solar'顏色為紅色d3.D3graph.node_properties['Solar']['color'] = '#FF0000'# 設置節點'Solar'的邊顏色為黑色d3.D3graph.node_properties['Solar']['edge_color'] = '#000000'# 設置節點'Solar'的邊線寬為5d3.D3graph.node_properties['Solar']['edge_size'] = 5# 顯示已修改節點屬性后的D3圖形d3.D3graph.show()# 設置D3圖形中邊的屬性:設為有向圖,并且箭頭終點樣式為常規箭頭d3.D3graph.set_edge_properties(directed=True, marker_end='arrow')# 顯示應用了新邊屬性后的D3圖形d3.D3graph.show()# 查看當前D3圖形的所有節點屬性設置node_props = d3.D3graph.node_properties# 查看當前D3圖形的所有邊屬性設置edge_props = d3.D3graph.edge_properties# 最后再次顯示D3圖形,以確認所有設置是否生效d3.D3graph.show()
Elasticgraph類似電子原子核的結構,關聯每個數據,且數據可以進行細節參考,雙擊每個節點,就會展開各個數據。
# 導入D3Blocks庫并創建一個實例from d3blocks import D3Blocks# 創建D3Blocks對象實例d3 = D3Blocks()# 加載內置的'energy'數據集df = d3.import_example('energy')# 使用elasticgraph方法繪制彈性圖,并將結果保存為HTML文件 'Elasticgraph.html'd3.elasticgraph(df, filepath='Elasticgraph.html')# 顯示生成的彈性圖d3.Elasticgraph.show() # 顯示嵌套的D3圖形d3.Elasticgraph.D3graph.show()# 顯示彈性圖d3.Elasticgraph.show()# 顯示嵌套的D3圖形d3.Elasticgraph.D3graph.show()# 查看并輸出當前彈性圖中所有節點的屬性設置node_props = d3.Elasticgraph.D3graph.node_properties# 查看并輸出當前彈性圖中所有邊的屬性設置edge_props = d3.Elasticgraph.D3graph.edge_properties
下面這段代碼展示了如何利用D3Blocks進行熱力圖的繪制:
# 導入D3Blocks庫并創建一個實例from d3blocks import D3Blocksd3 = D3Blocks()# 加載內置的'stormofswords'數據集df = d3.import_example('stormofswords')# 使用heatmap方法繪制熱力圖d3.heatmap(df)
圖片
本文鏈接:http://www.tebozhan.com/showinfo-26-75376-0.html又一款超炫酷的Python動態數據可視化工具!
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: C/C++循環結構:do{} while()和while() do{}的區別
下一篇: 一文搞懂設計模式—代理模式