碎碎念:

最近课题需要基于图论和力导向图可视化每个脑电通道之间的连接性,MATLAB画的效果差强人意,于是上网搜寻到JavaScript 的一个函数库——D3.js,想快速得到数据的可视化结果

简介D3:

D3 是一个开源项目,项目的代码托管于 GitHub。

D3 的官方网站:D3.js - Data-Driven Documents 【包含有很多示例和 API,要想得心应手的使用 D3,熟悉 API 是避不开的】

D3的详细入门教程:GitHub - lzhlzz/d3wiki: D3.js 入门教程,授权给极客学院转载

我的使用:

一、(建议)看简单案例

d3wiki/force.md at master · lzhlzz/d3wiki · GitHub

跟着学基础知识,争取能看懂代码,知道怎么模仿着改,实在没时间直接跳到第二步

二、调整官方代码(个别电脑可能不行)

Force-Directed Graph / D3 / Observable (observablehq.com)

发现只需要替换涉及nodes与links的json文件就好了

三、将原数据打包成json格式

本人利用funcUDnet函数得到网络参数,分别为edges和nodes

function [H,G] = funcUDnet(weights,areaname,threshold)

网络G的元素

3.1 获取节点的group信息

mat信息位于comselect.m的Mord

Mord记录了所有节点的group信息

3.2 将excel转json

将nodes与edges的信息粘贴到Excel上,并从Excel复制数据到在线Exel、CSV转JSON格式-懒人工具|www.ab173.com在线转换格式

以nodes为例

3.3 运行程序保存json

<html> <head> <meta charset="utf-8">
<script src="https://cdn.bootcss.com/FileSaver.js/2014-11-29/FileSaver.js"></script>
<input type="button" id="export" value="保存"/></head> <body> <script>
var person = {nodes : [
{"id":"'Y1'","group":"1 "},
{"id":"'Y2'","group":"1 "},
{"id":"'Y3'","group":"1 "},
{"id":"'Y4'","group":"1 "},
{"id":"'Y5'","group":"1 "},
],        //为节省篇幅,仅列举前五个links : [
{"source":"'Y1'","target":"'X1'","value":"0.48"},
{"source":"'Y1'","target":"'X2'","value":"0.51"},
{"source":"'Y1'","target":"'X4'","value":"0.48"},
{"source":"'Y2'","target":"'S1'","value":"0.48"},
{"source":"'Y2'","target":"'U8'","value":"0.73"},
]         //为节省篇幅,仅列举前五个
}var button = document.getElementById("export");button.addEventListener("click", saveHandler, false);function saveHandler(){var content = JSON.stringify(person);var blob = new Blob([content], {type: "text/plain;charset=utf-8"});saveAs(blob, "save.json");}</script> </body>
</html>

把.txt后缀改成.html,双击就可以打开(个别电脑可能不行)

3.4 替换json文件

换完run一下,即得结果(结果未画“group 2”中没有产生任何连接的节点Y3、R10、U12)

PS,最后如果要呈现出分类结果,用PS进行颜色替换。教程:ps图片如何换颜色_百度知道

利用D3.js快速绘制力导向图相关推荐

  1. D3 v3版本绘制力导向图更新节点时JS控制台报错 :Error: circle attribute cx: Expected length, NaN解决办法

    D3的v3版本,很古老了. 拿来绘制力导向图,画布初始化的代码如下: //代码不完整,仅作演示以说明问题 //节点数组var nodes = [ { name: "sssss" , ...

  2. 深入理解 D3.js 可视化库之力导向图原理与实现

    大厂技术  坚持周更  精选好文 简介 D3.js[1] 是一个基于 web 标准的 JS 可视化库,它借助 SVG.Canvas 和 HTML 进行数据可视化.在数据可视化中,我们很多时候会使用图来 ...

  3. D3 笔记十:力导向图

    本文目前来说,是学完极客学院的<D3.js 入门教程>之后的整理出来的精简知识版,仅仅是为了知识整理.后期我会随着学习的深入,在这个基础上,进行维护与更改. 一.力导向图 我们先来了解一下 ...

  4. D3.js 力导向图来处理拓扑图

    记录一点碰到的问题和解决方案.感觉国内关于D3.js 4.0版本的相关资料还是少. 力导向图布局 D3一种布局的方式,可以将你nodes links的节点数据转换成可以绘制的坐标点数据,然后通过svg ...

  5. python力导向图论文_力导向图(关系图) echarts的运用

    Echarts关系图-力引导布局 需要做一个树形图,可以查看各个人员的关系. 可伸缩的力引导图-失败 刚开始,打算做一个可展开和伸缩的,搜索时候发现CSDN有一篇美美哒程序媛写的Echarts For ...

  6. d3.js实现力导向图圈选框选

    #d3.js实现力导向图圈选框选 今天给大家带来的是如何在2D可视化图形中加入通过鼠标拖动圈选功能,以力导向图为例. ##最终效果 demo跳转 ##代码解析 我们是要在节点的上方绘制一个矩形覆盖节点 ...

  7. 数据可视化——力导向图的绘制

    本次实验数据用的是巴黎圣母院的人物关系图 基于路径绘制力导向图代码如下: <html><head><meta charset="UTF-8">& ...

  8. D3.js的v5版本入门教程(第十四章)—— 力导向图

    D3.js的v5版本入门教程(第十四章) 这一章我们来绘制一个力导向图,什么叫力导向图,通俗一点将就是有节点和线组成,当鼠标拖拽一个节点时,其他节点都会受到影响(力导向图有多种类型,本章绘制的效果就是 ...

  9. D3.js实现力导向图(Dray和Zoom)

    今天遇到个问题就是把json(里面nodes和edges属性)文件通过D3.js展示出来,下午终于弄出来了,写篇博客记录一下. 先展示一下效果图: 放大后是这个效果: 什么是力导向图 D3.js官网: ...

最新文章

  1. python导入自定义模块和路径问题
  2. kubernetes英语怎么读_英语音标怎么读
  3. Java之旅(二)--- ServletContext
  4. 深度学习基础入门(一):基本概念和术语解读
  5. java adt mac_Mac下搭建Eclipse Android开发环境
  6. MasterPage + UpdatePanel + FileUpload
  7. 洛谷P3066 [USACO12DEC]逃跑的BarnRunning Away From…
  8. 幻世机器人_2014年科幻动作《幻世追踪/启动机械码》BD中英双字幕
  9. 轮播高度_Qt编写自定义控件24-图片轮播控件
  10. 余弦相似度/卷积核之间的成对余弦相似性
  11. 《计算机网络》第二章:物理层(The Physical Layer)
  12. excel判断两列中同一行的数据是否一致
  13. python思维方法_小白3个月学会Python的路径和思维方式“大揭秘”!
  14. jsp酒店管理系统论文开发与设计.doc
  15. HTML+CSS实现小米官网首页
  16. 微型计算机及接口技术笔记,2010年自考微型计算机及其接口技术笔记串讲
  17. 发光二极管之二——正负极如何判断
  18. 2 线性化 泰勒级数 泰勒公式
  19. rtspplayer播放器实现
  20. 百万在线:大型游戏服务端开发

热门文章

  1. 2021年安全员-A证-主要负责人(广东省)最新解析及安全员-A证-主要负责人(广东省)新版试题
  2. TensorFlow识别图片数字
  3. 以太坊P2P中Kad算法解析
  4. 算法笔记16.并查集
  5. [Unity] Unity获得Android的视频缩略图
  6. 考研英语 - word-list-28
  7. Xiaomi Mi Notebook Air 13.3“ 2016黑苹果efi
  8. 【叨叨与总结】2022.7月结
  9. Word2016中添加目录
  10. 2020 嵌入式系统原理与应用技术(第2版) 期末复习 【整理】 习题2