自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

又一款超炫酷的Python動(dòng)態(tài)數(shù)據(jù)可視化工具!

開(kāi)發(fā) 開(kāi)發(fā)工具 數(shù)據(jù)可視化
D3blocks作為一款動(dòng)態(tài)交互式數(shù)據(jù)可視化工具,它不僅繼承了現(xiàn)有庫(kù)們強(qiáng)大的視覺(jué)表現(xiàn)力,更以實(shí)時(shí)更新和用戶(hù)深度交互為核心特色,有效彌補(bǔ)了市場(chǎng)上的這一空缺。

在Python的數(shù)據(jù)可視化領(lǐng)域中,諸如Matplotlib、Seaborn、Bokeh、Plotly以及Pyecharts等庫(kù)以其豐富的圖形展示能力和美學(xué)設(shè)計(jì)深受開(kāi)發(fā)者喜愛(ài)。但在滿(mǎn)足日益增長(zhǎng)的動(dòng)態(tài)與交互式數(shù)據(jù)探索需求方面,部分庫(kù)的功能顯得相對(duì)有限。

D3blocks作為一款動(dòng)態(tài)交互式數(shù)據(jù)可視化工具,它不僅繼承了現(xiàn)有庫(kù)們強(qiáng)大的視覺(jué)表現(xiàn)力,更以實(shí)時(shí)更新和用戶(hù)深度交互為核心特色,有效彌補(bǔ)了市場(chǎng)上的這一空缺。

D3blocks安裝

pip install d3blocks

D3blocks使用

D3Blocks目前囊括了一系列創(chuàng)新且功能豐富的動(dòng)態(tài)交互式圖表模塊。這些模塊包括:時(shí)間序列圖(Timeseries)、和弦圖(Chord)、彈性圖(Elasticgraph)、桑基圖(Sankey)、熱力圖(Heatmap)等。

1.時(shí)間序列圖(Timeseries)

下面這段代碼展示了如何利用D3Blocks進(jìn)行時(shí)間序列數(shù)據(jù)的繪制:

# 導(dǎo)入D3Blocks庫(kù)
from d3blocks import D3Blocks

# 創(chuàng)建D3Blocks對(duì)象實(shí)例
d3 = D3Blocks()
# 加載示例數(shù)據(jù)集(此處為氣候相關(guān)數(shù)據(jù))
df = d3.import_example('climate')
# 調(diào)用timeseries方法來(lái)繪制時(shí)間序列圖表
d3.timeseries(df, datetime='date', dt_format='%Y-%m-%d %H:%M:%S', fontsize=10, figsize=[850, 500])

執(zhí)行上述代碼后,D3Blocks將會(huì)基于給定的數(shù)據(jù)幀df中的日期時(shí)間信息生成一個(gè)高度交互且視覺(jué)效果出眾的時(shí)間序列圖表。如下圖所示。

2.和弦圖(Chord)

下面這段代碼展示了如何利用D3Blocks進(jìn)行和弦圖的繪制:

from d3blocks import D3Blocks
# 創(chuàng)建D3Blocks對(duì)象實(shí)例
d3 = D3Blocks()
# 加載內(nèi)置的數(shù)據(jù)示例
df = d3.import_example('energy')
# 調(diào)用chord方法來(lái)繪制和弦圖
d3.chord(df)

3.D3graph

D3graph是一個(gè)動(dòng)態(tài)可交互的關(guān)系網(wǎng)圖,可以設(shè)置每個(gè)節(jié)點(diǎn)的顏色,以及大小,甚至可以在關(guān)系網(wǎng)上添加箭頭。下面這段代碼展示了如何利用D3Blocks進(jìn)行D3graph的繪制:

# 導(dǎo)入D3Blocks庫(kù)并創(chuàng)建一個(gè)實(shí)例
from d3blocks import D3Blocks

d3 = D3Blocks()
# 加載內(nèi)置的'energy'數(shù)據(jù)集作為示例數(shù)據(jù)
df = d3.import_example('energy')
# 使用d3graph方法繪制自定義D3圖形,并將結(jié)果保存為HTML文件 'd3graph.html'
d3.d3graph(df, filepath='d3graph.html')
# 設(shè)置圖形縮放方式為minmax歸一化(默認(rèn)可能為其他縮放方法)
d3.d3graph(df, scaler='minmax')
# 調(diào)整D3圖形節(jié)點(diǎn)屬性設(shè)置,先重置顏色為None(不指定顏色)
d3.D3graph.set_node_properties(color=None)
# 設(shè)置'Solar'大小為30
d3.D3graph.node_properties['Solar']['size'] = 30
# 設(shè)置'Solar'顏色為紅色
d3.D3graph.node_properties['Solar']['color'] = '#FF0000'
# 設(shè)置節(jié)點(diǎn)'Solar'的邊顏色為黑色
d3.D3graph.node_properties['Solar']['edge_color'] = '#000000'
# 設(shè)置節(jié)點(diǎn)'Solar'的邊線寬為5
d3.D3graph.node_properties['Solar']['edge_size'] = 5
# 顯示已修改節(jié)點(diǎn)屬性后的D3圖形
d3.D3graph.show()
# 設(shè)置D3圖形中邊的屬性:設(shè)為有向圖,并且箭頭終點(diǎn)樣式為常規(guī)箭頭
d3.D3graph.set_edge_properties(directed=True, marker_end='arrow')
# 顯示應(yīng)用了新邊屬性后的D3圖形
d3.D3graph.show()
# 查看當(dāng)前D3圖形的所有節(jié)點(diǎn)屬性設(shè)置
node_props = d3.D3graph.node_properties
# 查看當(dāng)前D3圖形的所有邊屬性設(shè)置
edge_props = d3.D3graph.edge_properties
# 最后再次顯示D3圖形,以確認(rèn)所有設(shè)置是否生效
d3.D3graph.show()

4.Elasticgraph

Elasticgraph類(lèi)似電子原子核的結(jié)構(gòu),關(guān)聯(lián)每個(gè)數(shù)據(jù),且數(shù)據(jù)可以進(jìn)行細(xì)節(jié)參考,雙擊每個(gè)節(jié)點(diǎn),就會(huì)展開(kāi)各個(gè)數(shù)據(jù)。

# 導(dǎo)入D3Blocks庫(kù)并創(chuàng)建一個(gè)實(shí)例
from d3blocks import D3Blocks

# 創(chuàng)建D3Blocks對(duì)象實(shí)例
d3 = D3Blocks()
# 加載內(nèi)置的'energy'數(shù)據(jù)集
df = d3.import_example('energy')
# 使用elasticgraph方法繪制彈性圖,并將結(jié)果保存為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()
# 查看并輸出當(dāng)前彈性圖中所有節(jié)點(diǎn)的屬性設(shè)置
node_props = d3.Elasticgraph.D3graph.node_properties
# 查看并輸出當(dāng)前彈性圖中所有邊的屬性設(shè)置
edge_props = d3.Elasticgraph.D3graph.edge_properties

5.Heatmap

下面這段代碼展示了如何利用D3Blocks進(jìn)行熱力圖的繪制:

# 導(dǎo)入D3Blocks庫(kù)并創(chuàng)建一個(gè)實(shí)例
from d3blocks import D3Blocks
d3 = D3Blocks()
# 加載內(nèi)置的'stormofswords'數(shù)據(jù)集
df = d3.import_example('stormofswords')
# 使用heatmap方法繪制熱力圖
d3.heatmap(df)

圖片圖片

責(zé)任編輯:趙寧寧 來(lái)源: 數(shù)據(jù)科學(xué)與AI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)