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

news2024/11/16 23:47:53


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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1812517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安全相关的一些基础知识(持续更新)

目录 1. TRNG真随机数生成 2. 对称加密和非对称加密及其区别 3. Hash算法(摘要算法) 4. HTTPS、TLS、SSL、HTTP区别和关系 HTTPS的基本原理 5. PSS 1. TRNG真随机数生成 True Random Number Generator 在真随机数的生成里,把随机数的生…

MySQL学习(2):数据库相关概念及windows环境下安装

1.数据库、数据库管理系统、SQL 主流的关系型数据库有4种:oracle、mysql、SQLserver、PostgreSQL,它们都是SQL语言控制的 2.windows系统安装mysql 2.1下载安装包 mysql分为社区版(免费)和商业版(30天试用&#xff09…

面试题:ArrayList和LinkedList的区别

ArrayList和LinkedList都是Java中实现List接口的集合类,用于存储和操作对象列表,但它们在内部数据结构、性能特性和适用场景上有所不同: 1.内部数据结构: ArrayList:基于动态数组实现。这意味着它在内存中是连续存储…

NodeJS体育用品销售管理系统-计算机毕业设计源码88807

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…

BDD100k

摘要 数据集推动视觉进步,但现有的驾驶数据集在视觉内容和支持任务方面都很贫乏,以研究自动驾驶的多任务学习。研究人员通常被限制在一个数据集上研究一小部分问题,而现实世界的计算机视觉应用需要执行各种复杂的任务。我们构建了一个包含10…

一张试卷

目录 问题 1: 1.时间 题目描述1 输入1 输出1 样例输入1 样例输出1 提示1 代码1 问题 2: 超酷的电话号码 题目描述2 输入2 输出2 样例输入2 样例输出2 提示2 代码2 问题 3:3.爸爸的数学题 题目描述3 输入3 输出3 样例输入3 样例输出3 提示3 代码3 问题 4: 4. 营养膳食 题目描述4…

c# 学习 3

显示转换 异常捕获 语法

Django面试题

1. 什么是wsgi? WSGI 是 “Web Server Gateway Interface” 的缩写,它是一种用于 Python Web 应用程序和 Web 服务器之间通信的标准接口。它定义了一组规则和约定,使 Web 服务器能够与任何符合 WSGI 规范的 Python Web 应用程序进行交互。 #…

Javascript学习之路:js中关于遍历总结

循环/遍历 循环,就是一遍又一遍的重复执行相同或者相似的代码循环结构的两个要素 循环体–要执行的相同或相似的语句循环条件–重复执行的次数,或者继续执行循环的条件 👉while循环 while循环语法格式 while(boolean表达式){循环体语句}//…

3D高斯泼溅原理及实践【3DGS】

人工智能可能是我们这个时代的主要领域之一,它几乎可以用于从驾驶汽车到医疗保健甚至能够预防失明等所有领域,最近提出了一种新的 3D 重建方法。SNGULAR 及其人工智能团队希望了解有关 3D 重建技术的最新更新的更多信息。 目前可用于 3D 重建的许多 SOT…

[干货!必看文章]学会如何用L4级AI软件开发平台免费制作应用程序

前言: 自从ChatGPT问世以来,就掀起了全球AI大模型的浪潮。国外有Claude,Llama,Grok,Suno,国内有kimi,有智谱AI,有通义千问,还有文心一言... 国内大模型市场规模已经达到了…

【Python/Pytorch - 网络模型】-- 手把手搭建U-Net模型

文章目录 文章目录 00 写在前面01 基于Pytorch版本的UNet代码02 论文下载 00 写在前面 通过U-Net代码学习,可以学习基于Pytorch的网络结构模块化编程,对于后续学习其他更复杂网络模型,有很大的帮助作用。 在01中,可以根据U-Net…

瓦片边界可视化工具

本文涉及的核心内容 瓦片边界可视化-VisibleTileBoundariesmeethigher/visible-tile-boundaries: visible tiles boundaries demo 一、瓦片边界可视化 1.1 背景 日常GIS开发中,需要了解瓦片是什么,瓦片展示的效果是什么样的。这种口头上抽象的东西&a…

计算机哈佛架构、冯·诺依曼架构对比

哈佛架构和冯诺依曼架构是两种不同的计算机系统架构,它们在存储器组织方式上有着显著的区别。下面是它们的原理、优缺点的对比以及一些常见的 MCU 采用的架构: 哈佛架构: 原理:哈佛架构将指令存储器(程序存储器&#x…

Androd adb命令汇总,app专项测试命令。

1.普通命令 1.1 devices命令 # 语法格式 :adb devices [-l] # 作用 :返回已连接设备的信息 # 示例 :adb devices : 返回设备的信息adb devices -l : 返回设备的详细信息1.2 help命令 # 语法格式 :adb --help # 作用 &…

攻防世界--杂项misc-2017_Dating_in_Singapore

题目信息 题目描述和附件分别是一串数字和新加坡日历,数字中间有短线-连接,刚好分成了12个字段。猜想对应了12个月 01081522291516170310172431-050607132027262728-0102030209162330-02091623020310090910172423-02010814222930-0605041118252627-020…

集合进阶(接口Collection(迭代器、增强for、Lambda表达式)、List中常见的方法和五种遍历方式、数据结构(栈、队列、数组、链表)

一、单列集合顶层Collection List系列集合:添加的元素是有序、可重复、有索引Set系列集合:添加的元素是无序、不重复、无索引 Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的。 Collection的遍历方式 1、迭代器——…

catia零件装配中通过指南针移动零件

1 将零件导入进来后 2 把指南针移动到零件上 具体移动哪个可以通过模型树点击选中,选中那个就可以移动那个。 这种情况需要注意的是 需要双击选择要移动零件的父节点 如下图,Product2蓝色表示是激活的,这样才可以单击选中下面的零件后通过…

STM32F103RCT6换STM32F103C8T6后delay函数延时了10倍

更换单片机步骤: 1、型号选择 2、启动文件,将HD改为MD。 3、引入对应的启动文件。 4、后面发现delay比之前延时了差不多10倍,解决办法:在初始化后加入SystemInit();即可。

Frontiers旗下期刊,23年分区表整理出炉!它还值得投吗?

本周投稿推荐 SSCI • 中科院2区,6.0-7.0(录用友好) EI • 各领域沾边均可(2天录用) CNKI • 7天录用-检索(急录友好) SCI&EI • 4区生物医学类,0.5-1.0(录用…