数据可视化(二) 使用 D3 组件进行布局

了解用于绘制各种排列的组件的图形计算

这个由两部分组成的系列文章的 第 1 部分概述了 SVG 和 D3 的结合使用,提供了创建社交媒体的浏览数据可视化表示的一些基本示例。第 2 部分将介绍在 SVG 图形中使用不同图形组件排列或布局的步骤。您将学习如何使用 D3 强大的图形计算在 SVG 画布上放置组件,以及如何将自己的图形操作与 D3 的布局相结合。我还将探讨如何使用 JavaScript 对象表示法 (JSON) 作为一种可用于可视化的数据格式。本文最后将展示如何使用布局组合在单个 SVG 画布上排列各种图形组件。

本文中的概念和示例以 第 1 部分中的概念和示例为基础,所以在继续阅读本文之前,请务必阅读或复习第 1 部分。阅读第 2 部分时,您可能会发现,在浏览器中并列打开两篇文章会很有用,这样您可参考第 1 部分中的图像。参见 下载,获取第 2 部分的样例代码。

D3 的图形布局简介

我以 第 1 部分中学到的 D3 功能为基础开始构建。

回想一下,第 1 部分中的图 1 和图 2 仅在圆圈排列上存在区别,这些图的 JavaScript 代码中的 transform属性值(如第 1 部分中的清单 2 和清单 4 所示)会计算每个圆圈中心的相对位置。

在 D3 的术语中,确定各个组件相对位置的图形计算被称为 布局。D3 提供了多种强大且可重用的布局。第 1 部分中的圆弧和弦的排列就是其中之一。知道如何单独使用 D3 的布局并能与自己的图形计算相结合,会很方便。

D3 包布局 (Pack layout)(如图 1 所示)是一个较大圆圈内的一个圆圈包。(与 第 1 部分中一样,这些圆圈描绘了第 1 周的页面查看数据。)在本文中,我将演示如何结合使用包布局和我自己的一些计算。

图 1. 在一个较大圆圈中显示圆圈的包布局

图 1中的圆圈与第 1 部分中生成的圆圈相同,但采用不同的排列方式。图形计算所导致的区别由 D3 的包布局完成。

没有外部的圆圈,图 1中的布局类似于图 2:

图 2. 没有外部圆圈的包布局

时间: 2024-08-14 03:18:37

数据可视化(二) 使用 D3 组件进行布局的相关文章

《D3.js数据可视化实战手册》——导读

前言 D3.js数据可视化实战手册 D3.js是一个JavaScript库,它主要用于对数据的动态图表展示.通过HTML.SVG以及CSS,D3可以让数据展现得更加鲜活.D3使得数字的图形化展示变得异常简单,可以说,它是当下最强大的基于网络的数据可视化技术. 本书理论与实践结合,力图向读者全方位地展示D3数字可视化技术,帮助读者快速利用D3创建可视化程序.学习完本书后,快速高效地创建叹为观止的数据可视化程序,对读者来说将是小菜一碟! 本书由浅入深,首先介绍了一些D3数字可视化编程中的基本概念,继

数据可视化入门——我该从何开始?

我爱数据--并且我把这一事实告诉了很多人. 如果你最近曾与我一起参加过聚会,我对在你的耳边喋喋不休地讲网页数据可视化工具或我最近热衷的酷酷的R包表示道歉. 如果你和我一起玩Fantasy Sports(梦幻体育游戏,是一种网络游戏,译者注),欢迎向我索取图表,我有好多图表. 一个完全没有必要的.对在Fantasy Football中是否选择第一个的分析,不需要这个. 因此,对我来说,最近越来越频繁地被问到:"尼克,我想要尝试数据分析和可视化,我应该从哪里开始?"一点也不感到惊讶. 不幸

数据可视化实践之美

随着DT时代的到来,传统的统计图表很难对复杂数据进行直观地展示.这几年数据可视化作为一个新研究领域也变得越来越火.成功的可视化,如果做得漂亮,虽表面简单却富含深意,可以让观测者一眼就能洞察事实并产生新的理解.可视化(visualization)和可视效果(visual)两个词是等价的,表示所有结构化的信息表现方式,包括图形.图表.示意图.地图.故事情节图以及不是很正式的结构化插图. 基本的可视化展现方式,如条形图.折线图.饼图.雷达图可以很容易通过各种软件(如Excel)容易生成,这些方法是常见

《D3.js数据可视化实战手册》—— 1.1 简介

1.1 简介 D3.js数据可视化实战手册本章旨在帮助读者初步认识并且运行D3.js.其中包含一些基本知识,比如什么是D3.js,如何搭建一个典型的D3.js数据可视化(data visualization)环境.还有一个专门的章节,解释了一些JavaScript中鲜为人知而D3.js又甚为倚重的特性. 什么是D3?D3是指数据驱动文档(Data-Driven Documents),根据D3的官方定义: D3.js是一个JavaScript库,它可以通过数据来操作文档.D3可以通过使用HTML.

数据可视化,第 1 部分: 使用 SVG 和 D3 可视化浏览指标

这个由两部分组成的文章系列将演示有助于从数据中提取有业务价值的信息的可视化技术 ,本文是这个系列的第一部分.您将看到如何使用可缩放矢量图形 (SVG) 和开源 D3         JavaScript 库创建可通过浏览器查看的可视化表示,通过形状和颜 色来传达信息.我将通过一些可视化浏览指标(与社交媒体使用相关)的示例来演示这些技 术.第 1 部分概述 了 SVG 和        D3 如何协同工作,还提供了 一些基本示例.第 2 部分        将会更深入地剖析这个强大的开放 标准技术

《D3.js数据可视化实战手册》—— 1.2 搭建一个简易的D3开发环境

1.2 搭建一个简易的D3开发环境 D3.js数据可视化实战手册 在开始使用D3之前,我们要做的第一件事是搭建一个开发环境.这节里,我们将告诉你如何在几分钟内搭建一个简单的D3开发环境. 1.2.1 准备阶段 在我们开始前,请确保你已经安装好一个文本编辑器. 1.2.2 搭建环境 我们先要下载D3.js. 1.我们可以在http://d3js.org/下载最新版本的D3.js,也可以在https://github. com/mbostock/d3/tags下载之前的版本.另外,如果你对开发中的最

d3 js-node.js服务器+D3数据可视化的问题

问题描述 node.js服务器+D3数据可视化的问题 是这样的,我最近开始自学D3,今天创建了一个最简单的网页: <!doctype html> <html> <head> <meta charset="utf-8"> <title>D3</title> <script src="node_modules/d3/d3.js"></script> </head>

《D3.js数据可视化实战手册》—— 2.1 简介

2.1 简介 选集(selection)是基于D3的可视化项目的重要基础之一,它用来定位页面上的特定视觉元素.如果你已经熟知W3C的标准CSS选择器,或一些流行的JavaScript库(如jquery或Zepto.js)提供的选择器API,那么掌握D3的选择器API对你来说将易如反掌.不过,即便从未接触过选择器也无妨,本章将借助一些生动的例子,带领你一步步地进入选择器的世界,这些例子涵盖了可视化中的绝大多数应用场景. 所有的现代浏览器都内嵌支持W3C的标准选择器API.然而,在网络开发,尤其数据

《D3.js数据可视化实战手册》—— 第1章 D3.js入门指南

第1章 D3.js入门指南 D3.js数据可视化实战手册本章涵盖以下内容: 搭建简易的D3开发环境 搭建基于NPM(Node Packaged Modules是Node.js的套件管理工具)的开发环境 理解D3风格的JavaScript