这一节学习树状图的制作。树状图的制作和集群图完全相同,经过这两种 layout 转换后的数据也很相似。本人的个人博客为:
www.ourd3js.com csdn博客为:
blog.csdn.net/lzhlzz转载请注明出处,谢谢。
树状图( Tree )通常用于表示层级、上下级、包含与被包含关系。树状图的制作和 9.4节集群图的制作 的代码几乎完全一样。不错,你没看错,几乎完全一样。那么为什么要把这两种图分开,它们有什么不同呢?先来看看对于同一组数据,它...
首先做出一个动态的柱形图(这儿用的d3.js的版本是v3,用v4的话有些函数会发生变化)效果图:代码:<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>histogramTransitionEvent</title><style>.axis path,.axis line{fill: none;stroke: black;shape-rendering: crispEdges;}.axis text {font-family: sans-serif;font-size: 11px;}.MyText {fill: white;text-anchor: middle;}</style>
</head>
<body>
<scri...
矩阵树图(Treemap),也是层级布局的扩展,根据数据将区域划分为矩形的集合。矩形的大小和颜色,都是数据的反映。许多门户网站都能见到类似图1,将照片以不同大小的矩形排列的情形,这正是矩阵树图的应用。图1 http://www.texastribune.org/2010/10/07/treemap-reveals-campaign-ad-trends/现以浙江、广西、江苏三省份2013年的GDP作为数据,以GDP大小作为节点的权重将其制作成矩阵树图。1. 数据新建一个citygdp.json文件,内容如...
<!DOCTYPE html><html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px"><head><title></title><meta charset="utf-8"><meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"><link rel="stylesheet" href="css/fonts/font-awesome.min.css"><link rel="styleshe...
此文章为原创文章,原文地址:https://www.cnblogs.com/eagle1098/p/12146688.html效果如上图所示。本项目使用主要d3.js v4制作,可以用来选择两年的时间范围,两端按钮切换年,在时间轴上标注可以选择的时间范围和关键时间点。时间数据可以在前端配置,也可以从后端请求。此程序相对比较简单,主要涉及d3的比例尺和拖动处理。1)d3的比例尺其实就是把一个范围的数据映射到另一个范围的数据上此处,我们使用线性比例尺:d3.scaleLi...
D3.js作为一个前端,说到可视化除了听过 D3.js 的大名,常见的可视化库还有?ECharts、Chart.js,这两个库功能也很强大,但是有一个共同特点是封装层次高,留给开发者可设计和控制的部分太少。和 EChart、Chart.js 等相比,D3.js**?的相对来说自由度会高很多,得益于 D3.js?**中的 SVG 画图对事件处理器的支持,D3.js?可将任意数据绑定到文档对象模型(DOM)上,也可以直接操作对象模型(DOM)完成 W3C DOM API 相关操作,对于想要展...
这个需求其实挺明确的,但是网上搜出来的教程都乱七八糟,觉得实在需要自己总结一下。
D3.js目前已经被广泛使用在数据可视化领域,随着大数据的持续发展,这个框架估计会在今后更加流行(据说其作者Mike Bostock开始全职开发了,之前是负责纽约时报数据可视化的工程师,他本人也从纽约搬家到了旧金山……)。按照这里的介绍:https://github.com/mbostock/d3/wiki/API-Reference,D3.js实际上有专门读取JSON数据的API,所以其实D3....
第一次测试成功的d3.js代码,需要在ie9及以上的浏览器打开。火狐和google也可以尝试。删除<textarea>部分标记。<textarea cols="20" rows="8" id="con"><!DOCTYPE html><html><head> <title></title></head><style type="text/css"> body{ height: 100%; } .chart rect { stroke: white; fill: steelblue; }</style><script src="http://d3js.org/d3.v3.min.js" ></script><body></body><scri...
本人的个人博客首页为: http://www.ourd3js.com/ ,csdn博客首页为:http://blog.csdn.net/lzhlzz/。转载请注明出处,谢谢。在D3.js中,选择元素的函数有两个:select 和 selectAll 。先说明一下它们的差别:
select 是选择所有指定元素的第一个selectAll 是选择指定元素的所有(以用于后面同一时候操作)来看一个详细的样例,现有例如以下代码:
<html> <head> <meta charset="utf-8"> <title>select,append,exit</title> <...
柱形图,是使用柱形的长短来表示数据变化的图表,也是最简单的图表之一。一般情况下,柱形图包括:矩形、坐标轴和文字。一、矩形和文字定义一个数组,每个数据项表示矩形的长短:var dataset = [50, 43, 120, 87, 99, 167, 142]; // 数据集定义一个SVG,表示绘制区域:var width = 400; // svg可视区域宽度var height = 400; // svg可视区域高度var svg = d3.select("body").append("svg") // 在body中添加SVG.attr("wi...
1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title>HelloWorld</title> 5 </head> 6 <body> 7 <p>Hello World 1</p>8 <p>Hello World 2</p>9 <!-- <p>Hello World 1</p>10 <p>Hello World 2</p> -->11 <div id="con"></div>12 <div id="chart01"></div>13 <bottom><button type="button" onclick="myadd()">add</button><button type="butto...
一、添加一个矩形//Width and heightvar w = 500;
var h = 100;var dataset = [ 5, 10, 13, 19, 21, 25, 22, 18, 15, 13,11, 12, 15, 20, 18, 17, 16, 18, 23, 25 ];//创建SVG元素var svg = d3.select("body").append("svg").attr("width", w).attr("height", h);svg.selectAll("rect").data(dataset).enter().append("rect").attr("x", 0).attr("y", 0).attr("width", 20).attr("height", 100); 二、添加多条矩形//Width and he...
有兴趣的朋友欢迎来http://www.ourd3js.com/ 讨论下面开始用D3.js处理第一个简单问题,先看下面的代码: <html> <head> <meta charset="utf-8"> <title>HelloWorld</title> </head> <body> <p>Hello World 1</p><p>Hello World 2</p></body>
</html> 如果你学习过HTML,应该知道会在屏幕中输出两行文字,如下图:
如果想用JavaScript来更改这两行文字,怎么办?我们会添加代码变为:<html> <head> <meta charset...
.on("dragstart", function() {d3.event.sourceEvent.stopPropagation();})
https://stackoverflow.com/questions/31692431/d3-js-drag-is-disabled-when-use-zoom原文:http://www.cnblogs.com/leyi/p/6909370.html
现在用D3.js + react做一个带坐标轴和比例尺的柱形图。我已经尽力把代码全部注释上了,最后我也会把完整柱形图代码奉上。如果还有疑惑的,可以去翻看一下我之前介绍的方法,以下方法都有介绍到。还有数据都是自己定义的假数据,大家参考一下制作方法即可。 首先定义柱形图的数据、绘图区域的宽高、和上下左右的边距:1var width = 600; //SVG绘制区域的宽度2var height = 500; ...