D3.js坐标轴的绘制方法、添加坐标轴的刻度和各比例尺的坐标轴(V3版本)
var width = 600;
var height = 600;
var svg = d3.select("#body")
.append("svg")
.attr("width",width)
.attr("height",height) // 用于坐标轴的线性比例尺
var xScale = d3.scale.linear()
.domain([0,10])
.range([0,300]) // 定义坐标轴
var axisBottom = d3.svg.axis()
.scale(xScale) //使用上面定义的比例尺
.orient("bottom") //刻度方向向下 //在svg中添加一个包含坐标轴各元素的g元素
var gAxis = svg.append("g")
.attr("transform","translate(80,80)") //平移到(80,80)
.attr("class","axis")
//在gAxis中绘制坐标轴
axisBottom(gAxis)
.axis path{
fill:none;
stroke : black;
shape-rendering:crispEdges;
}
.axis line{
fill:none;
stroke : black;
shape-rendering:crispEdges;
}
.axis text{
font-family: sans-serif;
font-size: 11px;
}
var width = 600;
var height = 600;
var svg = d3.select("#body")
.append("svg")
.attr("width",width)
.attr("height",height)
//用于坐标轴的线性比例尺 var xScale = d3.scale.linear()
.domain([0,10])
.range([0,300]) //定义坐标轴
var axisLeft = d3.svg.axis()
.scale(xScale)
.orient("left") //刻度方向向左
.ticks(5) //在svg中添加一个包含坐标轴各元素的g元素
var gAxis = svg.append("g")
.attr("transform","translate(80,80)") //平移到(80,80)
.attr("class","axis")
//在gAxis中绘制坐标轴
axisLeft(gAxis)
var width = 600;
var height = 600;
var svg = d3.select("#body")
.append("svg")
.attr("width",width)
.attr("height",height)
//用于坐标轴的线性比例尺 var xScale = d3.scale.linear()
.domain([0,10])
.range([0,300]) //定义坐标轴
var axisRight = d3.svg.axis()
.scale(xScale)
.orient("right") //刻度方向向右
.tickValues([3,4,5,6,7]) //在svg中添加一个包含坐标轴各元素的g元素
var gAxis = svg.append("g")
.attr("transform","translate(80,80)") //平移到(80,80)
.attr("class","axis")
//在gAxis中绘制坐标轴
axisRight(gAxis)
var width = 600;
var height = 600;
var svg = d3.select("#body")
.append("svg")
.attr("width",width)
.attr("height",height)
//用于坐标轴的线性比例尺 var xScale = d3.scale.linear()
.domain([0,10])
.range([0,300]) //定义坐标轴
var axiosTop = d3.svg.axis()
.scale(xScale)
.orient("top") //刻度方向向上
.ticks(5)
.tickSize(2,4)
19 .tickFormat(d3.format("$0.1f"))
//在svg中添加一个包含坐标轴各元素的g元素
var gAxis = svg.append("g")
.attr("transform","translate(80,80)") //平移到(80,80)
.attr("class","axis")
//在gAxis中绘制坐标轴
axiosTop(gAxis)
var width = 600;
var height = 600;
var svg = d3.select("#body")
.append("svg")
.attr("width",width)
.attr("height",height) //用于坐标轴的比例尺 // 线性比例尺
var xScaleLine = d3.scale.linear()
.domain([0,1])
.range([0,500]) //定义坐标轴 var axisBottomLine = d3.svg.axis()
.scale(xScaleLine) //使用上面定义的比例尺
.orient("bottom") //刻度方向向下 //在svg中添加一个包含坐标轴各元素的g元素
var gAxis = svg.append("g")
.attr("transform","translate(80,80)") //平移到(80,80)
.attr("class","axis") //在gAxis中绘制坐标轴
axisBottomLine(gAxis)
var width = 600;
var height = 600;
var svg = d3.select("#body")
.append("svg")
.attr("width",width)
.attr("height",height) //用于坐标轴的比例尺 // 指数比例尺
var xScalePow = d3.scale.pow()
.exponent(2)
.domain([0,1])
.range([0,500]) //定义坐标轴 var axisBottompPow = d3.svg.axis()
.scale(xScalePow) //使用上面定义的比例尺
.orient("bottom") //刻度方向向下 //在svg中添加一个包含坐标轴各元素的g元素
var gAxis = svg.append("g")
.attr("transform","translate(80,80)") //平移到(80,80)
.attr("class","axis") //在gAxis中绘制坐标轴
axisBottompPow(gAxis)
效果图:
三 、 对数比例尺的坐标轴:
代码 :
var width = 600;
var height = 600;
var svg = d3.select("#body")
.append("svg")
.attr("width",width)
.attr("height",height) //用于坐标轴的比例尺 var xScaleLog = d3.scale.log()
.domain([0.01,1])
.range([0,500]) //定义坐标轴
var axisBottomLog = d3.svg.axis()
.scale(xScaleLog) //使用上面定义的比例尺
.orient("bottom") //刻度方向向下 //在svg中添加一个包含坐标轴各元素的g元素
var gAxis = svg.append("g")
.attr("transform","translate(80,80)") //平移到(80,80)
.attr("class","axis") //在gAxis中绘制坐标轴
axisBottomLog(gAxis)
效果图:
其他比例尺下的坐标轴大家可以自己去试一下。
下一章给大家做一个带比例尺、坐标轴的柱形图。
D3.js坐标轴的绘制方法、添加坐标轴的刻度和各比例尺的坐标轴(V3版本)的更多相关文章
- D3.js的基础部分之数组的处理 数组的排序和求值(v3版本)
操作数组 D3提供了将数组洗牌.合并等操作,使用起来是很方便的. d3.shuffle(array,[,lo[,ji]]) : //随机排列数组. d3.merge(arrays) : / ...
- D3.js(v3)+react 制作 一个带坐标与比例尺的柱形图 (V3版本)
现在用D3.js + react做一个带坐标轴和比例尺的柱形图.我已经尽力把代码全部注释上了,最后我也会把完整柱形图代码奉上.如果还有疑惑的,可以去翻看一下我之前介绍的方法,以下方法都有介绍到. 还有 ...
- D3.js 其他选择元素方法
在上一节中,已经讲解了 select 和 selectAll,以及选择集的概念.本节具体讲解这两个函数的用法. 假设在 body 中有三个段落元素: <p>Apple</p> ...
- js将多个方法添加到window对象上的多种方法
方法一:(最简单也是最笨的方法) window.a = function(){}window.b = function(){}window.c = function(){} 方法二:(利用jq的ext ...
- D3.js比例尺 定量比例尺 之 线性比例尺(v3版本)
定量比例尺 : 数学上有函数的概念,不是编程中所说的函数,如线性函数.指数函数.对数函数等,而指的是一个量随着另一个量的变化而变化.例如有一下线性函数 : y=2x+1该函数在二维坐标系中绘制出来的图 ...
- D3.js(v3)+react 制作 一个带坐标与比例尺的散点图 (V3版本)
上一章做了柱形图,https://www.cnblogs.com/littleSpill/p/10835041.html 这一章做散点图. 散点图(Scatter Chart),通常是一横一竖 ...
- D3.js 坐标轴
坐标轴,是可视化图表中经常出现的一种图形,由一些列线段和刻度组成.坐标轴在 SVG 中是没有现成的图形元素的,需要用其他的元素组合构成. D3 提供了坐标轴的组件,如此在 SVG 画布中绘制坐标轴变得 ...
- [js]d3.js绘制拓扑树
echart也支持拓扑树了 所需的json数据格式: children嵌套 vis.js也支持绘制拓扑树 数据格式: nodes: {id, label, title} edges: {from, t ...
- D3.js比例尺 序数比例尺(v3版本)
上一章介绍了阈值比例尺:https://www.cnblogs.com/littleSpill/p/10825038.html.到目前所有的定量比例尺已经介绍完了. 现在给大家介绍一下序数比例尺. 定 ...
随机推荐
- vue中配置可修改的服务器接口api
https://www.jianshu.com/p/377bfd2d9034?utm_campaign 太坑了,找了全网,几乎都不能用,也不知道哪写错了,这个是可以用的.
- 【SVN】提交报错:×××文件is not under version control
解决方法:1.删除出错的文件,然后在出错文件所在文件夹执行还原操作 2.VS中可将文件先排除在项目外,再包含在项目内,即可正常提交
- python url编码与解码
上代码 #codeing:utf-8 from urllib import parse ori_url_10='http://192.168.0.10:3080/asg/portal.do?call= ...
- 20140604 word表格中打钩 循环右移
1.如在在word表格中打钩 符号->其他符号->字体(wingdings2) 2.循环右移 方法1: #include<stdio.h> void move(char *s) ...
- 卷积神经网络学习笔记(CNN)
看了很多关于卷积神经网络的论文和资料 可是我发现一个问题,就是pooling会出现一个问题 我能找到的代码里面都是用的均值子采样,如果改成最大或最小,或P范数都会在学习训练的时候遇到不知道怎么处理的问 ...
- 用node-http-proxy搭建代理
程序员三大必备网站是:Google.Github.StackOverflow.如果你还在用Baidu搜索技术文章的话,我想说的是,少年你已经被鄙视很多年了,赶紧换成谷歌吧,不要再被鄙视了!Github ...
- js文本框焦点自动聚焦到下个文本框
HTML: <form> <input type="text" name="text1" maxlength="3" si ...
- angularJS select下拉框检测改变
html:(已引入amazeUI) <div style="width:70px;display:inline-block;"> <form class=&quo ...
- Opencv 特征提取与检测-图像特征描述
图像特征描述 什么是图像特征 可以表达图像中对象的主要信息.并且以此为依据可以从其它未知图像中检测出相似或者相同对象 常见的图像特征 常见的图像特征 边缘 角点 纹理 图像特征描述 描 ...
- 笔记57 Mybatis和Hibernate的比较
一.Hibernate和MyBatis简介 1.Hibernate简介 Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映 ...