大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣]
1 选武入道 - 概况速览
库简介:D3Blocks是一个基于d3 javascript (d3js)的图形库,通过只需少量的Python代码就能创建出视觉上吸引人且实用的图表!
github.com/d3blocks/d3blocks
江湖地位:470+ Star
库的特性和优势:
- 简易性: 以少量Python代码创建视觉上吸引人的图表。
- 功能丰富: 支持多种图表类型,如D3graph、Elasticgraph、Sankey等。
- 易用性: 提供详细文档和示例,让用户能够快速上手。
- 可定制性: 支持各种图表的自定义设置,满足不同需求。
- 更新及时: 提供Pypi安装和GitHub克隆安装方式,并支持强制更新。
库应用场景:
- 数据可视化:用于展示数据分析结果,提供直观的数据呈现。
- 报告制作:用于制作报告、演示文稿等,增强内容的可视化效果。
- 网站开发:用于构建数据驱动的网站,提供各种图表展示功能。
浅浅的感受一下:
2 初学乍练 - 快速入门
首先,使用pip安装d3blocks
pip install d3blocks
然后就是通过d3blocks库来创建一个粒子图。具体来说,它初始化了一个 D3Blocks 实例,然后调用 particles 方法来生成粒子图。在这个例子中,粒子图显示的是“武林秘籍”,并且指定了一些绘图参数,比如碰撞值、间距和图像尺寸。
# 导入模块
from d3blocks import D3Blocks
# 初始化
d3 = D3Blocks()
# 绘制粒子图
d3.particles('武林秘籍', collision=0.05, spacing=10, figsize=[1200, 500])
3 江湖试炼 - 实战应用
能源数据集交互网络
关系数据通常表现为一条记录与另一条或多条记录之间的关联。
图论中有多种形式来存储这种关系,例如邻接矩阵(对称方阵)或incidence矩阵(编码顶点对之间的关系)。
无论矩阵形式如何,绘制关系图有助于更好地理解数据。它可以揭示演化模式,其中节点在代表不同阶段的两个或多个组中重复出现。在这种情况下,弦图或桑基图是理想的关系可视化方式。
另一种情况是源到终点的模式,起始于某一点,可能经过中间步骤最终结束。这时网络图就能发挥作用。
而当交互数量很大,网络图等形式就会变成杂乱无章的"毛球"时,热力图就派上了用场。
对于这种图表形式,输入数据保持一致,都需要包含源(source)、目标(target)和权重(weight)三列的数据框。
from d3blocks import D3Blocks
# 初始化 D3Blocks 对象
d3 = D3Blocks()
# 导入示例数据集 'energy'
df = d3.import_example('energy')
# 显示输入数据
print(df)
# 初始化网络图,但不显示图形
d3.d3graph(df, showfig=False)
# 设置节点颜色为根据聚类结果着色
d3.D3graph.set_node_properties(color='cluster')
# 调整节点 'Thermal_generation' 的属性
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 # 设置节点边缘大小
# 调整边 'Solar' 到 'Solar_Thermal' 的属性
d3.D3graph.edge_properties['Solar', 'Solar_Thermal']['color'] = '#000fff'
d3.D3graph.edge_properties['Solar', 'Solar_Thermal']['weight_scaled'] = 10
# 显示网络图
d3.D3graph.show()
注释:
- 代码首先导入 D3Blocks 库和示例数据集 ‘energy’。然后初始化网络图对象,设置节点颜色为根据聚类结果着色。
- 接下来,它调整了特定节点 ‘Thermal_generation’ 的大小、边缘颜色和边缘大小,以及边 ‘Solar’ 到 ‘Solar_Thermal’ 的颜色和权重比例。
- 最后,显示了配置后的网络图。
添加图片注释,不超过 140 字(可选)
全网同名,日更万日,让更多人享受智能乐趣
烦请大侠多多 分享、在看、点赞,助力算法金又猛又持久、很黄很 BL 的日更下去;我们一起,让更多人享受智能乐趣
同时邀请大侠 关注、星标 算法金,围观日更万日,助你功力大增、笑傲江湖