D3.js的v5版本入门教程(第六章)

从这一章开始,进入正式的d3,js绘图阶段,有了前面几章基本知识的积累,这样看接下来的绘图代码才不会觉得比较辛苦

做一个简单的图表

为了做一个简单的图表,我们还是需要以下新的知识点

  • svg画布:svg绘制的是矢量图(还有canvas画布,这个是JavaScript用来绘制2D图像的,是位图)
  • rect元素:是d3中在svg中绘制矩形的元素
  • g元素:分组的时候使用

有了这些知识后,我们开始绘制

1、数据准备

var marge = {top:60,bottom:60,left:60,right:60}//设置边距
var dataset = [ 250 , 210 , 170 , 130 , 90 ];  //数据(表示矩形的宽度)

2、得到svg画布,并创建分组

var svg = d3.select("svg");//得到svg画布var g = svg.append("g")//定义一个用来装整个图表的一个分组,并设置他的位置.attr("transform","translate("+marge.top+","+marge.left+")");

其中.attr(xxxx)是用来设置属性的,而这里的“transform”是用来设置位置,

注意:"translate("+marge.top+","+marge.left+")"这句话本质上是一个字符串,因为其中有变量,所以使用字符串拼接

3、画出矩形

var rectHeight = 30;//设置每一个矩形的高度g.selectAll("rect").data(dataset).enter().append("rect").attr("x",20)//设置左上点的x.attr("y",function(d,i){//设置左上点的yreturn i*rectHeight;}).attr("width",function(d){//设置宽return d;}).attr("height",rectHeight-5)//设置长.attr("fill","blue");//颜色填充

其中g.selectAll("rect")
    .data(dataset)
    .enter()
    .append("rect") 我们在前面已经学过这段话表示添加足够的rect元素(也就是enter的用法)

运行结果:

效果预览:点击浏览效果

源码浏览:点击源码浏览

(翻外篇)d3.js在网页端可视化neo4j图数据库

为了让大家更好的学习d3.js,“d3.js在网页端可视化neo4j图数据库”这是一个比较综合的项目——利用neo4j的java驱动API从neo4j中取数据,并利用d3.js在网页端进行可视化。大家在学完基础课程后可以做一下这个项目,进行巩固。点击下面链接进行查看:d3.js可视化neo4j图数据库项目专栏

D3.js的v5版本入门教程(第六章)——做一个简单的图表相关推荐

  1. D3.js的v5版本入门教程(第一章)—— 如何在项目中使用D3.js

    D3.js的v5版本入门教程(第一章) 1.需要的一些工具 这个其实随便!最简单的就是建一个.txt文件就可以敲起代码来!作者本人用的是myeclipse(主要需要安装tomcat),因为写的是前端, ...

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

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

  3. D3.js的v5版本入门教程(第十三章)—— 饼状图

    D3.js的v5版本入门教程(第十三章) 这一章我们来绘制一个简单的饼状图,我们只绘制构成饼状图基本的元素--扇形.文字,从这一章开始,内容可能有点难理解,因为每一章都会引入比较多的难理解知识点,在这 ...

  4. D3.js的v5版本入门教程(第五章)—— 选择、插入、删除元素

    D3.js的v5版本入门教程(第五章) 1.选择元素 现在我们已经知道,d3.js中选择元素的函数有select()和selectAll(),下面来详细讲解一下 假设我们的<body>中有 ...

  5. D3入门教程——做一个简单的图表

    文章目录 一.准备 1.什么是画布 1)SVG 2)Canvas 3)两者之前的区别 二.开始 1.添加画布 2.绘制矩形 三.完整代码 一.准备 1.什么是画布 HTML 5 提供两种强有力的&qu ...

  6. python网页爬虫菜鸟教程_python菜鸟 想做一个简单的爬虫 求教程

    贴一个爬虫给你: 因为要做观点,观点的屋子类似于知乎的话题,所以得想办法把他给爬下来,搞了半天最终还是妥妥的搞定了,代码是python写的,不懂得麻烦自学哈!懂得直接看代码,绝对可用 #coding: ...

  7. d3.js画柱状图超详细教程

    d3.js画柱状图超详细教程 完整代码下载链接:https://download.csdn.net/download/qq5q13638/85248934,直接用这个文件夹内打开即可. 下面是完整教程 ...

  8. ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区 1 Desktop简介 1.1 ArcGIS for Desktop ...

  9. ArduinoYun快速入门教程第1章ArduinoYun概览

    ArduinoYun快速入门教程第1章ArduinoYun概览 本章是全书的开篇,在本章笔者将把Arduino以及Yun的方方面面介绍给大家.其中包括Arduino这个术语的解释.Yun相对其他开发板 ...

最新文章

  1. 编译安装 redis 2.2.14
  2. vsftpd给root设置访问权限
  3. cifs挂载 mount ubuntu_centos或者Ubuntu挂载windows10文件夹
  4. VB计算文本文件的行数
  5. 错误3:系统找不到指定的路径
  6. 阿里云ECS服务器怎么安装宝塔面板?
  7. 计算机图形学--方法篇(凹多边形的识别与判定方法)
  8. 信用评分卡模型python_信用评分卡模型在Python中实践(下)
  9. 计算机软件考试初级什么好考,初级程序员好考吗
  10. Android手机使用笔记本流量上网(基于Android便携式WLAN热点)
  11. pr导入无法打开磁盘上的文件_为什么用pr导入视频显示文件导入失败?
  12. net share列出了Windows的默认共享(包括C盘)
  13. 1000句最常用英语口语
  14. 星浩资本快速发展引擎:IT就是生产力
  15. C#基础教程-c#实例教程,适合初学者
  16. 企业文化如何推动绩效?
  17. Springboot错误页面和错误信息定制
  18. Java小程序——模仿Win系统画板
  19. 数理统计_正态分布经典例题
  20. ssd的smt_联合评测: Optane SSD 在SmartX 超融合 Oracle 场景下的性能表现

热门文章

  1. 【必看干货】在我面了10多家大厂(上岸)后,我吐血总结你要是这12道题都不能拿满分,那你就与大厂算法无缘了 ——AI视觉算法工程师
  2. 怎么使用 button的tag
  3. P2P大潮正在消退,第一梯队亦需自危
  4. onecore\com\combase\dcomrem\channelb.cxx(6563)\combase.dll!76A59D9F: (caller: 75A95B54) ReturnHr(1)
  5. java.security.InvalidKeyException: IOException : Short read of DER length
  6. [转载]2012 年 4 月,rating排行榜
  7. 【Java基础】面向对象(三)
  8. 进程管理笔记三、完全公平调度算法CFS
  9. C#使用教程:由C++转向C#需要看重地疑难
  10. 第4章 深度估计与分割(SGBM、GrabCut、分水岭) 个人笔记