一个能根据特定指标值查看任意前几名节点的可视化小demo

echarts横向柱状图TOP排名 需求和上一篇文章类似,只不过多了滚动条和标签颜色。标签右对齐请参考上篇文章。 阅读详情

 (本文在较早之前在本人知乎账号为“BOOM”的数据可视化专栏发表过:知乎链接,所以也可到本人知乎上的文章分享查看更多文章)

之前用d3js做了一个可视化小工程跟大家分享一下。

首先我自己构造了一份人书关系的数据,表示的是一个人借了哪些书,一本书又被哪些人借过,整体是个网络图的结构,因为是自己构造的,所以我偷懒直接把人写people1,people2作为编号,书写成book1,book2......采用d3里的力导引布局来做一个力学关系图。

整体展示效果图:

 

其中绿色结点是人,黄色结点表示书。做了个鼠标移到节点上时显示对应名称的交互,可以查看某一节点具体的名称。左上角有四个输入框,上面对应四种指标值,表征的是图数据结构里每个节点的度和中心度等。输入框输入的值是前几名,比方说你想查看邻居节点最多的前5个节点,只要在degree下面的输入框输入5,下面的图就会变成只含有前五的节点和节点外面两层的节点与边的图,最后再点击一下最右边的清除键,后面会解释这个操作的原因。

 

在degree输入框输入5的结果:

 

由此可知book7,book4,book6,book14,people24这5个结点的degree值最高。其他指标值的展示方法相同,最后点击一下清除键是因为一开始写代码的时候对隐藏其他节点和边只是设置了一个不透明度的改变,让其他元素不可见了,但它们还存在于画布上,所以后面用jquery的remove()函数把不可见的元素清除掉,用清除键触发,这个按键触发有点多余,但是我后来懒得改了,请读者见谅。

 

这个demo展示其实是具有一定的应用价值的,比如你以某些种类指标值大小作为一个关系网络里的节点是否关键的判断,那你可以用我展示的这种方式去查看最关键的节点,或者说仅仅是某一指标最高的节点。

代码实现:

下面我说说具体的代码实现吧,大神可能会觉得我代码写得不好或者这么简单的代码不需要讲,可以直接跳过下面部分。但是读我文章的可能有道友对我上面的功能实现感兴趣,我还是想讲讲代码实现,这样道友可以更快看懂我源码怎么写的,文章最后会附上源码地址。

生成力学图的套路都差不多,定义好需要用到的变量,力导引布局,再写好数据文件接口,然后在里面添加节点和边对象,绑定数据等等,最后绑定各种交互事件。理解了一套代码,以后只需要作为模板改改就好了。我主要想讲数据展示的功能实现,图生成我就不讲了。

拿degree指标来说:

我首先是定义一个数组degree_num来保存degree数据,并排序,因为degree是值越大越重要,所以对数组做降序排序。

 


然后在触发函数里写功能,这里触发函数是对id为2的输入框绑定的失去焦点后触发的函数。首先创建多个对象保存好所有的节点圆circle元素,文本text元素,和边元素,以及输入框输入的值。紧接着定义了一个Get_min_num函数,作用是获得top几里的最小的那个指标值在top几中的个数,比如说我想获得degree值前五名,假如前五名的指标值分别是7,6,5,4,4。那最小值个数就是2,两个4。因为第六名第七名可能也是4。我使用这个函数是为了确保就算4的个数不只是有前五名中的两个时,我也只高亮显示两个degree值是4的节点。我高亮的top5不是指指标值的前五(这样可能包含不止五个节点),而是只显示排在前面的5个节点。

接下来定义好一些中间变量与数组之后定义了一个数组去重函数。我不只要展示前五名的5个节点,我还要展示它们每个节点外面两层的节点和边,是展示五个子图。但是五个子图可能有相连的部分。假如我要保存所有在第二层的节点id,那有可能id为10的节点既是子图1的第二层也是子图2的第二层,那么保存第二层节点id的数组里会有两个10,是多余的,只要有一个就行了,所以把这种情况用去重函数过滤掉。
首先是把第一层结点高亮,也就是degree值最高的五个节点,我设置了高亮后节点和文本的样式。实现思路是遍历每个text和circle节点元素,然后拿top5里最小的指标值来做比较,如果是7,6,5,4,4。那这个值就是4。指标值大于4的是要展示的,等于4的只展示先遍历到的两个节点,小于4的就是不展示的点了,同时还把top5节点的id保存在数组circle_highlight_id里。

 

 

接下来高亮外面两层结点和中间的边利用的是广度优先搜索的思想。通过前面保存的第一层节点的id获得第二层的节点以及中间的边。同理通过第二层节点id获得第三层结点和第二层边。

 

实现如下:

 



最后隐藏和清除不被高亮的其他节点和边。

其他的指标实现方法相同。在我源码中没有对里面大段的代码做函数封装,而是对应四个输入框的触发事件把以上代码写了四遍,导致代码有点臃肿,也是我偷懒没有在之后做这个工作,以后尽量克服,哈哈。

如果读过我这篇文章的道友有更好的实现思路或相关的算法,欢迎来告诉我,让我学习学习。

本文章工程源代码地址:点击打开链接

R语言入门教程:从环境安装到数据可视化实战 数据分析是科研与业务决策的底层能力,R语言正是为此而生的统计计算与可视化工具。它以向量和数据框作为核心数据结构,像操作Excel一样处理表格数据,同时借助扩展包生态实现功能扩展。其中,ggplot2包凭借灵活的图层语法,成为生成出版级图表的主流选择。通过安装R与RStudio,用户即可在集成环境中完成CSV数据导入、结构查看、散点图绘制以及线性回归等任务,完整覆盖从数据清洗到结果呈现的流程。面向零基础入门的实践路径,涉及环境配置、基础语法、常见错误规避与可视化操作,能够有效帮助新手避开类型转换、工作目录、缺 阅读详情

相关推荐

Eigensystem Realization Algorithm (ERA):具有模态指标的本征系统实现算法,包括一致模态指标和模态参与因子-matlab开发

模态指标包括一致模态指标和模态参与因子的特征系统实现算法。 提供了示例文件,用于识别受到脉冲激励的 2DOF 系统,响应中增加了不确定性(高斯白噪声)。 函数 [Result]=ERA(Y,fs,ncols,nrows,inputs,cut,shift,EMAC_option) 输入: Y:自由振动输出数据,形式为 Y=[Y1 Y2 ... Y_Ndata] Yi 是大小为 (outputs,inputs) 的马尔可夫参数,总大小为 (outputs,inputs*Ndata) 其中,outputs 为输出个数通道,输入是等于 1 的输入数量,除非自由振动数据来自多参考通道 NExT。 Ndata 是数据样本的长度fs:采样频率ncols:hankel矩阵的列数(大于数据数的2/3) nrows:hankel矩阵的行数(大于20*模式数) 输入:输入的数量等于 1,除非自由振动数据来

数据可视化demo_五组数据可视化行业案例,应用场景堪称绝妙

数据可视化是将数据分析的结果进行展示和挖掘,全面提升业务流程,企业决策的关键步骤,今天用亿信ABI带大家看看数据可视化在各个行业上的实际应用场景。亿信ABI是亿信华辰自主研发的一款全能型数据分析产品,为企业或者机构提供多种分析手段,在可视化分析方面支持复杂报表、Dashboard、3D可视化、大屏分析、GIS地图、预测挖掘等,在自助式分析方面支持敏捷看板、即席报告、幻灯片、移动分析等分析方式,以满...

weixin_39900830的博客 984

数据可视化30个demo

学习可视化展示的同学,可以参考,各种实列都有。使用的echarts。大屏数据

数据可视化大屏demo制作(画图)

数据可视化大屏1对1教学

weixin_52703987的博客 2万+

大屏数据可视化demo

大屏数据可视化案例;大数据可视化案例;供大家学习使用。

网络web调用IC卡读写器demo范例及源码

此款读写器保留了以往机型的优点,性能更稳定、速度更快、功耗更小,使用了更稳定的电脑USB电源,故障率更低。由于读写器的电路板、单片机程序、USB接口驱动程序及函数全部由公司自主开发,所以我们能够把复杂的IC卡认证读写器过程集成转化为更简单的函数调用操作,即使是从未接触过一卡通开发的软件开发人员,写起程序来也毫不困难,一点都不浪费开发时间。一般的计数、扣费操作,只需一个读卡、一个写卡、一个蜂鸣器响声的函数,就能轻松搞定。

【开源项目】开源数据可视化分析工具-DataEase

DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与他人分享。

qq_36765367的博客 636

数据可视化页面demo.zip

里面有6个可视化页面,不同风格的,经供参考哟

2026无代码小程序搭建工具平台前几名实力科普

无代码小程序搭建工具是面向无编程基础用户的SaaS类产品,无需用户掌握前端、后端、数据库等专业开发技能,通过可视化拖拽或自然语言输入需求,即可快速生成符合平台规范的小程序应用。这类工具的核心价值集中在三个维度:一是大幅降低开发门槛,非技术岗位人员也可独立完成搭建,无需依赖专业开发团队;二是缩短上线周期,传统定制开发小程序往往需要数天至数周的周期,无代码工具可将耗时压缩至数分钟至数小时;三是减少人力成本,无需支付外包开发费用或招聘专职开发人员,仅需支付工具订阅费用即可完成搭建。

2601_96498728的博客 120

29 大数据可视化平台(Vue.js)(动感炫酷数据可视化可演示DEMO源码).zip

29 大数据可视化平台(Vue.js)(动感炫酷数据可视化可演示DEMO源码).zip

2024年【MCM/ICM】美国大学生数学建模竞赛优秀论文(免费下载)

美国大学生数学建模竞赛(MCM/ICM)由美国数学及其应用联合会主办,是最高的国际性数学建模竞赛,也是世界范围内最具影响力的数学建模竞赛,一般也指数学建模竞赛。赛题内容涉及经济、管理、环境、资源、生态、医学、安全、等众多领域。竞赛要求三人(本科生和研究生均可参加)为一组,在四天时间内,就指定的问题完成从建立模型、求解、验证到论文撰写的全部工作,体现了参赛选手研究问题、解决方案的能力及团队合作精神。为现今各类数学建模竞赛之鼻祖。

weixin_43608857的博客 1839

从造AI到管AI:五个开源项目重新定义AI工程化

随着AI应用从实验室走向生产环境,多智能体协作、工作流编排、LLM可观测性等工程化能力正成为落地关键。一个复杂的Agent任务往往涉及多次模型调用、工具交互与上下文传递,若缺乏统一管理,极易出现流程失控、成本超支和效果不可回溯。所谓“管AI”,本质是通过编排框架约束任务拆解与执行边界,通过调用链追踪定位每一步的耗时与费用,通过提示词版本化保障变更可回滚,再借助模型评测与回归检测守住效果下限。这些技术共同解决了可靠性、成本与责任边界三类核心痛点,在自动化和业务系统集成中价值尤为突出。本文基于开源社区最新趋势,

weixin_33139275的博客 287

MTK手机传感器驱动开发避坑指南:从SCP代码大小限制到Overlay加载流程详解

本文详细解析了MTK平台传感器驱动开发中的常见问题,包括SCP代码大小限制、Overlay加载流程及客制化传感器集成。通过实战案例和优化策略,帮助开发者高效解决MTK传感器驱动开发中的技术难题,提升开发效率。

weixin_42522374的博客 400

2026 开源 APM 选型指南: OpenTelemetry 原生方案怎么选

本文对比了开源APM工具选型的关键问题,重点分析了成熟社区方案(如SkyWalking)与OpenTelemetry原生APM(如DataBuff)的五维差异:OTel战略、运维复杂度、AI排障、POC成本和适用场景。通过四张核心能力图展示了APM必备的RED指标、服务拓扑和全局大盘功能,并提供了30分钟快速POC验证方案。文章建议新业务优先采用OTLP标准接入,通过实际Demo验证工具的一体化能力和AI特性,强调选型应基于可观测性需求而非单纯社区热度。

乘云数字DATABUFF官方博客 373

MySQL等保三级合规实践:如何安全配置root账户的本地与受信主机登录策略

本文详细介绍了MySQL在等保三级合规框架下如何安全配置root账户的本地与受信主机登录策略。通过分析root账户的特殊保护需求,提供三种安全加固方案,包括限制访问范围、限定登录IP和完全禁止远程登录,并指导创建安全的远程管理账户。文章还涵盖了密码策略强化、日志审计配置和网络层防护等关键合规要求,帮助用户实现MySQL的等保三级全面合规。

weixin_42522964的博客 259

鱼眼相机矫正实战:除了棋盘格,试试横向展开和经纬度法(OpenCV4/C++实现对比)

本文对比了鱼眼相机矫正的三种主流方法:棋盘格标定法、横向展开法和经纬度法,通过OpenCV4/C++实战代码解析,帮助开发者在自动驾驶、VR全景拼接和安防监控等场景中选择最适合的技术方案。重点分析了各方法的精度、处理速度和适用场景,为工程实践提供实用指导。

weixin_29032489的博客 283

GitHub趋势周报:前端工程化与AI应用落地全面爆发

在技术开源生态中,GitHub趋势榜是观察开发者关注方向的风向标。近期榜单显示,前端领域正从框架之争转向工程化基建,构建工具、组件库和低代码平台成为热点;AI领域则从模型训练转向应用层落地,RAG Agent、本地量化部署、AI编程助手等项目密集涌现。这背后是基础设施成熟带来的分工重构:开发者不再关注底层重复配置,而是聚焦业务价值创造。对于技术团队,理解这一变化有助于选型:前端可通过零配置工具和设计令牌提升交付效率,AI应用可借助开源框架快速搭建企业知识库问答、私有化部署等场景。本文基于趋势榜项目,剖析工程

weixin_33794672的博客 253

【AI编程】Trae 环境搭建与配置从使用到项目实战详解

Trae 环境搭建与配置从使用到项目实战详解

congge 5650

GitHub热榜透视:AI开源的Agent协作与本地部署新趋势

大模型应用正从单一对话交互转向工程化落地,其中AI Agent、RAG(检索增强生成)、本地部署等核心技术成为构建复杂系统的关键。这些技术看似独立,实则围绕同一个目标:让AI在真实业务场景中稳定、可控、低成本地运行。Agent通过多角色协作拆解复杂任务,RAG将私有知识库与模型生成能力相结合,而本地部署则解决了数据隐私与成本问题。从原理到工程价值,这些概念已在开源社区催生了大量高质量项目。基于2026年8月GitHub热榜,文章梳理了AI开源生态的三大风向:从“能跑通”到“能落地”、从单体Agent到多Ag

weixin_34226706的博客 470

国产上位机软件突围:适配统信UOS/麒麟OS的跨平台开发技术与实践(2026年信创实战指南)

(航天科技集团CTO):“在信创战场上,1ms的延迟意味着1个卫星的控制失效。2026年,C#/.NET MAUI不是选择,而是我们守护卫星的‘生命线’。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 405

【DeepSeek应用实践】手把手教程:用 AnythingLLM + Ollama + DeepSeek-R1 搭建本地企业知识库

在众多的技术方案中,我们选择了 AnythingLLM、Ollama 和 DeepSeek-R1 这一组合来搭建本地知识库。Ollama 作为一个轻量级的本地化大语言模型部署工具,支持多种模型,易于安装和使用,能够快速在本地运行强大的语言模型。DeepSeek-R1 是一个专为知识库问答设计的检索增强生成(RAG)模型,它结合了检索和生成的优势,能够快速从知识库中检索相关信息并生成精准答案。而 AnythingLLM 则是一个用户友好的界面工具,可以方便地连接 Ollama 和 DeepSeek-R1

寻道AI,探索AI无限可能! 2566

2026物联网开发公司TOP10:五大硬指标与四大技术趋势解析

物联网开发正从设备接入走向端、边、云、数、智五层协同,边缘计算与AIoT融合成为行业分水岭。本文基于2026年物联网开发公司榜单评选逻辑,拆解自研模组、低代码平台、多协议适配、数据智能闭环与行业纵深五大硬指标,并分析边缘AI下沉、大模型重构交互、数字孪生仿真推演、数据安全合规四大技术趋势。面向工业企业、园区、设备厂商及初创团队,提供匹配选型画像、POC验证方法与合同避坑清单,帮助你在真实业务场景中筛选出具备长期服务能力的物联网开发伙伴。

weixin_42524703的博客 353

pytorch搭建SSAE实现预测分类代码模板完整代码

pytorch搭建SSAE实现预测分类代码模板完整代码

323

Elastic:开发者上手指南

你们好,我是Elastic的刘晓国。如果大家想开始学习Elastic的话,那么这里将是你理想的学习园地。在我的博客几乎涵盖了你想学习的许多方面。在这里,我来讲述一下作为一个菜鸟该如何阅读我的这些博客文章。 我们可以按照如下的步骤来学习: 1)Elasticsearch简介:对Elasticsearch做了一个简单的介绍 2)Elasticsearch中的一些重要概念:cluster,n..........................................................

Elastic 中国社区官方博客 17万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

2026低代码平台选型指南:洞悉排名逻辑与搭建评价维度

低代码开发平台已成为企业数字化转型的重要基础设施,它通过可视化建模和拖拽式操作,显著缩短了业务应用的交付周期。随着市场产品数量激增,各类低代码平台排名应运而生,但榜单背后的评价维度往往与真实业务需求错位。从业务适配度、扩展能力、用户体验、成本结构及服务生态等核心维度出发,结合AI能力嵌入和厂商持续经营能力,才能构建有效的选型框架。本文基于企业级重型平台、国内通用型平台、开源方案及行业垂直平台等多个梯队的实测经验,揭示低代码榜单背后的评价逻辑,帮助企业在业务场景中找到真正适合自己的低代码平台,避免陷入排名焦虑

weixin_33937778的博客 399

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

国内Agent产品深度对比:扣子、百炼与文心智能体平台选型指南

大模型提供了强大的推理能力,但真正的智能化落地往往需要Agent(智能体)来承担规划、调用工具、记忆和执行的完整闭环。面对国内众多Agent平台,如何理解“模型”与“智能体”的差异,又该如何在易用性、灵活度、生态与成本之间做出取舍?本文基于实际搭建经验,对比了扣子、阿里百炼、百度文心智能体平台、腾讯元器等主流产品,重点剖析了知识库记忆、技能插件、function calling工具调用等核心机制,并通过一个PPT生成Agent的实操案例,展示了从拖拽工作流到API集成的不同实现路径。无论你是技术负责人还是个

weixin_34101229的博客 248

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: d3.js主要布局种类总结
下一篇: Guafana连接InfluxDb进行数据展示的demo
知了蝉
博客等级 码龄10年 350粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知了蝉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值