<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
今天小編給大家來介紹一款十分好用的視覺化模組,D3Blocks
,不僅可以用來繪製可動態互動的圖表,並且匯出的圖表可以是HTML
格式,方便在瀏覽器上面呈現。
熱力圖是一種通過對色塊著色來顯示資料的統計圖表。繪圖時需要指定顏色對映的規則。例如較大的值由較深的顏色表示,而較小的值由較淺的顏色表示等等。熱力圖適用於檢視總體的情況,發現異常值、顯示多個變數之間的差異,以及檢測它們之間是否存在任何相關性。
我們這裡來嘗試繪製一張簡單的熱力圖,程式碼如下
from d3blocks import D3Blocks # 初始化 d3 = D3Blocks() # 匯入資料集 df = d3.import_example('energy') # 繪製熱力圖 d3.heatmap(df, showfig=True, stroke='red', vmax=10, figsize=(700,700))
output
在D3Blocks
模組當的particles()
方法可以方便我們將任何字型轉換成帶有動態效果的粒子圖,跟隨著滑鼠的移動,圖表中的元素也會動態的起伏飛舞,程式碼如下
# 匯入模組 from d3blocks import D3Blocks # 初始化 d3 = D3Blocks() # 繪製粒子圖 d3.particles('D3Blocks', collision=0.05, spacing=10, figsize=[1200, 500])
output
時間序列的折線圖,又被稱為是趨勢圖,是以時間為橫軸,觀察變數為縱軸,用來反映時間與數量之間的關係,這裡我們呼叫的是timeseries()
方法,程式碼如下
# 匯入模組 from d3blocks import D3Blocks # 初始化 d3 = D3Blocks() # 匯入資料集 df = d3.import_example('climate') # 列印出前面5行 print(df.head()) # 繪製圖表 d3.timeseries(df, datetime='date', dt_format='%Y-%m-%d %H:%M:%S', fontsize=10)
output
桑基圖是用於描述一組值到另一組值的流向的圖表。在圖表的內部,不同的線條代表了不同的流量分流情況,線條的寬度代表此分值所代表的資料大小。通常用於能源、材料成分、金融等資料的視覺化分析。這裡我們呼叫的是sankey()
方法來實現,程式碼如下
from d3blocks import D3Blocks # 初始化 d3 = D3Blocks() # 匯入資料集 df = d3.import_example('energy') # 繪製圖表 d3.sankey(df, link={"color": "source-target"})
output
小提琴圖可以用來繪製資料的分佈以及其概率密度,針對的是數值型的變數,這種圖表結合了箱型圖和密度圖的特徵,主要用來顯示資料的分佈形狀。這裡我們呼叫violin()
方法來實現,程式碼如下
# 匯入模組 from d3blocks import D3Blocks # 初始化 d3 = D3Blocks() # 匯入資料集 df = d3.import_example('cancer') # 顯示的格式 tooltip = df['labels'].values + ' <br /> Survival: ' + df['survival_months'].astype(str).values # 視覺化圖表 d3.violin(x=df['labels'].values, # X軸上的值 y=df['age'].values, # 年齡 tooltip=tooltip, # 顯示的格式 bins=50, # bins的大小 size=df['survival_months'].values/10, # 點狀的大小 x_order=['acc', 'kich', 'brca', 'lgg', 'blca', 'coad', 'ov'], # X軸的上的值 figsize=[None, None], # 圖表的大小 filepath='violine_demo.html')
output
散點圖通常用於檢視X軸與Y軸之間是否有關聯,它的繪製,我們這裡呼叫的是scatter()
方法,程式碼如下
# 匯入模組 from d3blocks import D3Blocks # 初始化 d3 = D3Blocks() # 匯入資料集 df = d3.import_example('cancer') # 顯示資料的格式 tooltip=df['labels'].values + ' <br /> Survival: ' + df['survival_months'].astype(str).str[0:4].values # 散點的大小 size = df['survival_months'].fillna(1).values / 10 # 繪製圖表 d3.scatter(df['x'].values, df['y'].values, x1=df['PC1'].values, y1=df['PC2'].values, scale=True, label_radio=['tSNE', 'PCA'], # 不同標籤的種類 size=size, color=df['labels'].values, stroke='#000000', opacity=0.4, # 透明度 tooltip=tooltip, # 顯示的格式 cmap='tab20', # 顏色 filepath='c://temp//scatter_demo.html')
output
弦圖是一種顯示資料矩陣中內部資料之間相互關係的圖形視覺化方法。在弦圖內,資料圍繞一個圓呈放射狀排列,資料點之間的關係通常繪製為連線資料的圓弧。這裡我們呼叫chord()
方法來實現,程式碼如下
from d3blocks import D3Blocks # 初始化 d3 = D3Blocks() # 匯入資料集 df = d3.import_example('energy') # 繪製圖表 d3.chord(df, filepath='chord_demo.html')
output
除了上面這幾種圖表之外,D3Blocks
模組還可以來繪製社群網路圖,這裡用到的是d3graph()
方法,程式碼如下
from d3blocks import D3Blocks # 初始化 d3 = D3Blocks() # 匯入資料集 df = d3.import_example('energy') # 列印出前5行資料 print(df) # 初始化網路圖 d3.d3graph(df, showfig=False) # 每個節點打上顏色 d3.D3graph.set_node_properties(color='cluster') # 調整每個節點的位置 d3.D3graph.node_properties['Thermal_generation']['size']=20 d3.D3graph.node_properties['Thermal_generation']['edge_color']='#000fff' # 藍色的節點 d3.D3graph.node_properties['Thermal_generation']['edge_size']=3 # Node-edge Size # 調整每個連線的位置 d3.D3graph.edge_properties['Solar', 'Solar_Thermal']['color']='#000fff' d3.D3graph.edge_properties['Solar', 'Solar_Thermal']['weight_scaled']=10 # 繪製圖表 d3.D3graph.show()
output
以上就是Python利用D3Blocks繪製可動態互動的圖表的詳細內容,更多關於Python D3Blocks圖表的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45