【d3js】结合pack和chord图进行多维数据展示

D3js的chord图提供了展示元素之间联系的一个很好渠道,但是维度不够多,下图是常见搜索案例(http://bl.ocks.org/mbostock/4062006):

这背后的数据其实是一个矩阵:
var matrix = [
[11975, 5871, 8916, 2868],
[ 1951, 10048, 2060, 6171],
[ 8010, 16145, 8090, 8045],
[ 1013, 990, 940, 6907]
];
数值就对应相应的连线宽度

但是这样的数据结构其实可以使用的场景比较有限,因为这个矩阵的所有数据都在展示的环上,因此,其实这只能表现一个维度的数据。

怎么能让他展示更多维度的数据呢?通过引入第二层显示并且自定义chord图的连线方式可以做到这一点。

这是我们给某客户提供的流量信息图,通过引入pack图作为第二层用于展示流量来源,我们通过pack图这种形式获得了展示数据源的群组特性的能力,将pack图置于整图的内部,并且和外部的chord图进行连线用于标示流量信息,表现了这样一个四维信息结构:

[来源位置、来源群组、目的位置、流量信息]

实现思路如下:
1)将chord的matrix改为对角矩阵(去除元素之间的对应关系)
2)分别使用两层绘制chord图和pack图
3)以pack图元素和chord图元素作为起始和结束点进行连线

——————————————————————————————————————————
MinkTech工作组致力于大数据管理及可视化平台建设,Golang相关技术研发、开源项目推广,欢迎和大家多多交流

时间: 2024-08-30 07:50:23

【d3js】结合pack和chord图进行多维数据展示的相关文章

表格和图在数据展示上面的思考

1.常见表格的数据展示仅仅是一个数据,比如么每个人的成绩信息 姓名|班级|科目|成绩 这是基础的表,但是他仅仅展示了一个数据,就是成绩,其余的仅仅是描述信息,没有什么具体的意义,查询仅是针对这些描述信息进行过滤 而已. 2.扩展的表格 交叉表: 3.折线图: 维度+维度+度量----三维数据展示 OLAP里面的表格基本都是数据,描述信息都在维度里面,也就是在表格的标题行或者行里面的首列或者扩展列里面 数据的多角度现实: 多维度的数据展现在表格里面基本都可以实现,以前仅仅认为可以现实三维的数据.

读“图”智慧:大数据“画像”的应用未来

互联网的内容主流,已经出现从文字转向图片的趋势,这标志着互联网已经进入“读图时代”.在“读图时代”的大背景下,图像中的海量非结构化数据的挖掘成为价值潜力的集聚地,如何挖掘其中隐藏的用户“密码”,成为大数据“落地”遇到的一大挑战. 图片大数据挖掘,主要目标是从中提取出图片的自身特征,包括语义.质量.关联度.实体义项等.由于在互联网的推动下,信息载体和用户交流媒介已经从文字转变到了图片,图片的便捷性,使得网站与用户之间的互动更加频繁,而图片的交互输入与展现,也让数据的展现更加直观. 随着图片数据规模

HighCharts绘制JS折线图(后台传数据给前台基于JFinal框架)

/*****************************Controller(基于JFinal框架)**************/ package com.zzu.controller;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.List;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartUtilitie

JFreeChart框架中生成饼状图上怎样显示数据 [问题点数:40分,结帖人GreenLawn]

我用JFreeChart框架生成饼状图,但想把数据信息在饼图上显示,是在饼图内部(即圆内)显示!怎样实现啊?? 去掉lablepieplot.setLabelGenerator(null);去掉线pieplot.setLabelLinksVisible(false); 饼图标签显示百分比方法PiePlot pp = (PiePlot)chart.getPlot();pp.setLabelGenerator(new StandardPieSectionLabelGenerator("{2}&quo

十图详解TensorFlow数据读取机制(附代码)

http://geek.csdn.net/news/detail/201552 在学习TensorFlow的过程中,有很多小伙伴反映读取数据这一块很难理解.确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料.今天这篇文章就以图片的形式,用最简单的语言,为大家详细解释一下TensorFlow的数据读取机制,文章的最后还会给出实战代码以供参考. TensorFlow读取机制图解 首先需要思考的一个问题是,什么是数据读取?以图像数据为例,读取数据的过程可以用下图来表示: 假设我们的硬盘中有一

javascript将数据展示成饼状图、柱状图和折线图

本文以展示柱状图为例进行介绍,当然这仅仅是一种方法而已:还有很多方法可以用于展示图表,例如自定义图表标签.使用jfreechart插件等: 1.导入js文件,包含了很多展示方法: <script type="text/javascript" src=<select:link page="/js/ChartObject.js"/>></script> <script type="text/javascript&quo

五图边框鼠标移动特效展示图

尺寸说明 :模块总尺寸为1185px*300px 单图尺寸为:225px*290px 购买按钮尺寸:51*62px 购买按钮图:https://img.alicdn.com/imgextra/i2/456989075/TB2Of3ZfpXXXXbrXXXXXXXXXXXX-456989075.png 模块背景色:#FFFFFF  ,价格标签颜色:#808080  促销标签底色:#808080  促销文字底色:#808080  标题价格底色:#FFF   标题文字色:#808080 颜色价格色:#

python struct.pack() 二进制文件,文件中打包二进制数据的存储与解析

学习Python的过程中,遇到一个问题,在<Python学习手册>(也就是<learning python>)中,元组.文件及其他章节里,关于处理二进制文件里,有这么一段代码的处理: >>>F=open('data.bin','wb') >>>import struct >>>data=struct.pack('i4sh',7,'spam',8) >>>data b'\x00\x00\x00\x07spam\x

在CAD图中插入一个数据Excel表格怎么办

我们在从事相关的设计的时候,多多少少都会运用到关于CAD的编辑操作,为了最终实现的效果,我们总是在额外的基础上添加很多不一样的元素,比如插入一张图片或者是一份Excel数据表,那我们接下来就看看怎么在CAD图纸文件中添加一份Excel数据表.第一步:在你的电脑桌面上运行CAD编辑器,软件打开后,点击界面上方的"文件"选项,然后点击"打开"按钮,将需要编辑的CAD文件打开. 第二步:在CAD图纸文件打开之后,要在CAD图中插入Excel表格,直接点击软件界面上方的[编