算法金 | D3blocks,一个超酷的 Python 库

简介: D3Blocks是一个基于d3.js的Python图形库,用于创建吸引人的数据可视化图表,如D3graph、Elasticgraph和Sankey图。拥有超过470个Star,其特点包括简易性、功能丰富、易用性、可定制性和及时更新。通过pip安装后,用户能轻松创建粒子图和其他图表。文中展示了实战应用,如能源数据集的网络图,通过调整节点和边的属性实现个性化展示。关注作者,享受智能乐趣。

\

​大侠幸会,在下全网同名[算法金] 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 的日更下去;我们一起,让更多人享受智能乐趣

同时邀请大侠 关注、星标 算法金,围观日更万日,助你功力大增、笑傲江湖

目录
相关文章
|
3天前
|
JSON 数据格式 Python
Python 的 requests 库是一个强大的 HTTP 客户端库,用于发送各种类型的 HTTP 请求
【6月更文挑战第15天】Python的requests库简化了HTTP请求。安装后,使用`requests.get()`发送GET请求,检查`status_code`为200表示成功。类似地,`requests.post()`用于POST请求,需提供JSON数据和`Content-Type`头。
28 6
|
3天前
|
存储 机器学习/深度学习 算法
【数据结构与算法】:手搓顺序表(Python篇)
【数据结构与算法】:手搓顺序表(Python篇)
|
3天前
|
存储 数据格式 Python
Python零基础入门-11 标准库简介 —— 第二部分
Python零基础入门-11 标准库简介 —— 第二部分
|
4天前
|
XML 存储 数据库
Python零基础入门-10 标准库简介
Python零基础入门-10 标准库简介
|
4天前
|
存储 算法 调度
力扣中级算法(Python)
力扣中级算法(Python)
|
4天前
|
算法 Python
力扣初级算法(Python)(二)
力扣初级算法(Python)(二)
|
4天前
|
算法 Python
力扣初级算法(Python)(一)
力扣初级算法(Python)(一)
|
4天前
|
JSON API 数据格式
如何用 Python 的 requests 库发送 JSON 数据的 POST 请求
使用 requests 库发送 JSON 数据的 POST 请求是一个非常简单且实用的操作。通过将目标 URL 和 JSON 数据传递给 requests.post 方法,你可以轻松发送请求并处理响应。本篇文章介绍了从安装 requests 库,到发送 JSON 数据的 POST 请求,再到处理响应的整个流程。希望这篇文章能帮助你更好地理解并应用这个强大的 HTTP 请求库。
|
4天前
|
机器学习/深度学习 传感器 算法
基于Mediapipe深度学习算法的手势识别系统【含python源码+PyqtUI界面+原理详解】-python手势识别 深度学习实战项目
基于Mediapipe深度学习算法的手势识别系统【含python源码+PyqtUI界面+原理详解】-python手势识别 深度学习实战项目
|
5天前
|
算法 数据可视化 Python
【KMeans】Python实现KMeans算法及其可视化
【KMeans】Python实现KMeans算法及其可视化

热门文章

最新文章