【D3.js in Action 3 精译】1.1.2 D3.js 的适用场景

译注
上一节中我们了解了 D3 诞生的技术背景——为了满足 Web 可访问数据的可视化需求。本节再来看看 D3.js 的适用场景是怎样的、在什么时候会考虑使用 D3.js。

1.1.2 D3.js 的适用场景

数据可视化领域正蓬勃发展,且备受青睐。过去十年间用于生成数据驱动图形的工具数量已呈现爆发式增长。一方面,我们有像 Microsoft Excel 这样的商业智能工具,它是一款常见的数据可视化入门级产品;还有像 Power BI 这样用于构建仪表盘的微软一站式解决方案;另一方面,数据科学家们经常利用 R 语言的 ggplot2 或 Python 中的 Matplotlib 来实现数据可视化效果。

而基于浏览器的拖拽式(point-and-click)数据可视化工具,如 Tableau、Flourish、Datawrapper 和 RAWGraphs 也已经成为主流,让您可以在投入最少技术储备的情况下创建出令人惊叹的作品。

最后,像 Highcharts、Chart.js 和 Plotly 等 JavaScript 库专门用于开发基于 Web 的交互式可视化效果。

上面列举的工具仅仅只是冰山一角,不一而足。

那么,在可视化工具的浩瀚海洋中,D3 又处于什么位置呢?我们又该在什么时候用、怎么用好它呢?应该说,尽管 D3 可以完全构建出上述工具库提供的任何图表,但它通常不是传统简单图表或探索阶段的首选工具。探索阶段考察的是最适合呈现当下数据的可视化类型。构建 D3 项目需要时间,而令 D3 真正大放异彩的,是复杂多变的、交互式的定制化项目环境。数据可视化远远不止创建折线图及散点图那么简单!虽然刚才提到的工具通常侧重于事先定义好的图表,但 D3 可以将数据绑定到任何图形元素,并像图 1.4 展示的乐谱那样,以独特的方式组合这些视觉元素来创建新的可视化效果。选择 D3 正是为了跳出思维定势,拥有更多自由思考的空间,不必受制于工具库所提供的开发能力。

图 1.4 D3 具备 SVG 和 Canvas 的绘图功
图 1.4 D3 具备 SVG 和 Canvas 的绘图功能,支持构建自定义可视化效果。该乐谱图由 Elijah Meeks 绘制

至于如何在数据可视化项目的范围内使用 D3,下面举例说明大致流程。首先是从现有数据集或手动收集的数据入手。在开始数据分析之前,通常会花费大量时间用于数据清洗、格式化等准备工作;而这正是 Python 和 R 语言的强项,借助它们往往可以发现潜藏的数据信息。Excel 由于对技术背景要求不高,也可以完成一些简单的数据整理与分析工作。您甚至可以通过 JavaScript 和 D3 提供的统计学方法(后续内容会讲解)进行基本的数据探索。

一旦数据分析开始进行,人们通常会创建一些原型(prototypes)来完善想要呈现的核心内容。借助 Tableau 和 RAWGraphs 可以让快速生成这些图表。这一步尤为重要,其间实现的效果往往无需过于花哨或精美。在原型设计阶段,大可不必耗费太多时间沉迷于自己的想法,有时甚至不得不忍痛割爱、反复推倒重来,直到找出最能突出数据核心主旨的可视化效果。网络图或许是个例外,遇到这样的项目通常直接使用 D3 就行了。

最后,一旦明确即将创建的可视化类型,如图 1.5 所示的桑基图(Sankey diagram),就可以用 D3 来编程了!现如今,代码的书写通常是在 React 或 Svelte 框架的单页应用(single-page applications,即 SPA)中实现的。
图 1.5 来自 Voilà 的获奖作品“打造未来可持续的包容性业务组合”

图 1.5 来自 Voilà 的获奖作品“打造未来可持续的包容性业务组合”(https://chezvoila.com/project/findevportfolio/).

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vite脚手架+Vant组件库初始化前端项目

脚手架概念: 在前端开发中,脚手架(Scaffold)是指一个用于快速搭建项目基础结构的工具或模板。脚手架包含了项目所需的基本文件结构、配置文件、依赖管理等内容,使开发者能够更快速地开始项目开发,而不必从…

H-K算法介绍与MATLAB实现

本篇文章是博主在人工智能等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在AI学习笔记&#…

sql想查询一个数据放在第一个位置

sql想查询一个数据放在第一个位置 背景:比如在查询后台账号的时候想将管理员账号始终放在第一个,其他账号按照创建时间倒序排序, 可以这样写sql: SELECTid,create_time FROMuser ORDER BY CASEWHEN id 1 THEN1 ELSE 2 END ASC, create_time DESC 运行截图: 可以看到id…

运算放大器输出相位反转和输入过压保护

运算放大器输出电压相位反转 本教程讨论两个与运算放大器相关的话题:输出相位反转和输入过压保护。 超过输入共模电压(CM)范围时,某些运算放大器会发生输出电压相位反转问题。其原因通常是运算放大器的一个内部级不再具有足够的偏置电压而关闭&#xff…

新火种AI|苹果要将苹果智能做成AI时代的APP Store?

作者:一号 编辑:美美 苹果还是想要自己做AI时代的“APP Store”。 自从去年开始落了队,苹果现在AI上开始高歌猛进。今年WWDC上展示的AI产品和与OpenAI的合作只是开始。有消息称,苹果正与Meta等AI巨头展开深入合作,这…

信息学奥赛初赛天天练-38-CSP-J2021阅读程序-约数个数、约数和、埃氏筛法、欧拉筛法筛素数应用

PDF文档公众号回复关键字:20240628 2021 CSP-J 阅读程序3 1阅读程序(判断题1.5分 选择题3分 共计40分 ) 01 #include<stdio.h> 02 using namespace std; 03 04 #define n 100000 05 #define N n1 06 07 int m; 08 int a[N],b[N],c[N],d[N]; 09 int f[N],g[N]; 10 11 …

容器化spring boot应用程序

容器化spring boot应用程序有多种方式&#xff0c;如基于简单的Dockerfile&#xff0c;多阶段Dockerfile以及基于Docker Compose等&#xff0c;我们将逐步给大家介绍&#xff0c;本节主要介绍基于简单的Dockerfile进行容器化spring boot的应用程序。 创建Spring boot应用程序 …

日志可视化监控体系ElasticStack 8.X版本全链路实战

目录 一、SpringBoot3.X整合logback配置1.1 log4j、logback、self4j 之间关系 1.2 SpringBoot3.X整合logback配置 二、日志可视化分析ElasticStack 2.1为什么要有Elastic Stack 2.2 什么是Elastic Stack 三、ElasticSearch8.X源码部署 ​四、Kibana源码部署 五、LogSta…

【计算机系统结构】复习重点(计算机系统结构(第3版)张晨曦 王志英等)

注意 导入过来排版不太对&#xff0c;建议看我的语雀文档 https://www.yuque.com/tongyan-qsj3t/zwlq23/dobnlmaa9knfxfsv?singleDoc# 《【计算机系统结构】复习重点&#xff08;计算机系统结构&#xff08;第3版&#xff09;张晨曦 王志英等&#xff09;》 教材版本 计算机…

Element-UI 并排显示多个 disabled按钮的时候, 不生效问题解决

目录 Element-UI 并排显示多个 disabled按钮的时候&#xff0c; 不生效问题解决 解决方法&#xff1a; 运行结果&#xff1a; Element-UI 并排显示多个 disabled按钮的时候&#xff0c; 不生效问题解决 解决方法&#xff1a; Element-UI 并排显示多个 disabled按钮的时候&a…

摄影楼电子相册打开的正确方式,快来看看

​随着科技的不断发展&#xff0c;电子相册已经成为许多人存储和分享照片的重要方式。然而&#xff0c;你知道如何正确打开电子相册吗&#xff1f;今天&#xff0c;我就来教大家一下电子相册的正确打开方式&#xff0c;快来学习一下吧&#xff01; 第一步&#xff1a;选择合适的…

【离散数学·图论】(复习)

一、基本概念 1.一些基本术语&#xff1a; 2.点u&#xff0c;v邻接&#xff08;或相邻&#xff09;: 边e称为关联顶点u和v,or e连接u和v; 3.G(V,E)中&#xff0c;顶点v所有邻居的集合&#xff1a;N(v), 成为v的邻域。 4.度 &#xff1a; deg(v) 5.悬挂点&#xff1a;度为1的…

智慧园区大数据云平台建设方案(Word原件)

第一章 项目建设背景及现状 第二章 园区创新发展趋势 第三章 工业园区大数据存在的问题 第四章 智慧工业园区大数据建设目的 第五章 智慧园区总体构架 第六章 系统核心组件 第七章 智慧工业园区大数据平台规划设计 获取方式&#xff1a;本文末个人名片直接获取。 软件资料清单…

为什么不再推荐使用 VRTK 4?

引言 VRTK (Virtual Reality Toolkit) 发布于2016年&#xff0c;初期受到了广大开发者的欢迎并被广泛采用。但是随着 VR 开发生态的发展&#xff0c;这款工具逐渐失去了最初的光芒。本文试图通过几个维度的分析&#xff0c;解释为什么目前不推荐使用 VRTK 进行开发的理由&…

高电压技术-冲击高压发生器MATLAB仿真

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 冲击电压发生器是产生冲击电压波的装置&#xff0c;用于检验电力设备耐受大气过电压和操作过电压的绝缘性能&#xff0c;冲击电压发生器能产生标准雷电冲击电压波形&#xff0c;雷电冲击电压截波,标准操作冲击…

K8S 角色/组件及部署方式的简单概述

1.宏观架构图 2.角色详情 2.1 Master(Controller Plane) 早期是叫 Master 节点&#xff0c;后期改名为 Controller Plane&#xff0c;负责整个集群的控制和管理 Master 不会干活的(当然你让它干也是会干的&#xff0c;涉及到污点容忍)&#xff0c;而是起到访问入口&#xff…

OPENCV清晰度判断(二)

文章目录 提取ROI判断清晰度灰度共轭矩阵(GLCM)灰度共轭函数的简单原理&#xff1a;计算灰度共轭矩阵代码计算矩阵的对比度 LBP&#xff1a;LBP的基本原理LBP代码 之前有过一篇关于清晰度的判断的文章&#xff1a; python的opencv操作记录(九)——图像清晰度计算。 这一篇里面…

代理IP对SEO影响分析:提升网站排名的关键策略

你是否曾经为网站排名难以提升而苦恼&#xff1f;代理服务器或许就是你忽略的关键因素。在竞争激烈的互联网环境中&#xff0c;了解代理服务器对SEO的影响&#xff0c;有助于你采取更有效的策略&#xff0c;提高网站的搜索引擎排名。本文将为你详细分析代理服务器在SEO优化中的…

使用FRP 0.58版本进行内网穿透的详细教程

什么是FRP&#xff1f; FRP&#xff08;Fast Reverse Proxy&#xff09;是一款高性能的反向代理应用&#xff0c;主要用于内网穿透。通过FRP&#xff0c;您可以将内网服务暴露给外网用户&#xff0c;无需进行复杂的网络配置。 准备工作 服务器&#xff1a;一台具备公网IP的服…

软件设计师笔记-操作系统知识(二)

线程 以下是关于线程的一些关键点&#xff1a; 线程是进程中的一个实体&#xff1a;进程是操作系统分配资源&#xff08;如内存空间、文件句柄等&#xff09;的基本单位&#xff0c;而线程是进程中的一个执行单元。多个线程可以共享同一个进程的地址空间和其他资源。线程是CP…