d3Decembercafe学习代码(二)比例尺和坐标轴

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Hello World</title>
	<style type="text/css">
		.axis path,
		.axis line{
			fill: none;
			stroke:black;
			shape-rendering: crispEdges;

		}
		.axis text{
			font-family: sans-serif;
			font-size: 11px;
		}
	</style>
</head>
<body>
	<p class="myclass">hello world</p>
	<p id="myid">hello people</p>
	<p class="myclass">helloworld</p>
	<script src="js/d3.v3.min.js" charset="UTF-8"></script>
<!-- 	第六课比例尺的使用 -->
<!-- 	<script>
		//线性比例尺
		var dataset=[1.2,2.4,0.6,0.3,0.90];
		var min =d3.min(dataset);
		var max=d3.max(dataset);
		alert(max);alert(min);

		var linear =d3.scale.linear()
		.domain([min,max])
		.range([0,300]);

		alert(linear(0.3));
		alert(linear(2.0));
		alert(linear(2.4));

		//序数比例尺
		var index=[0,1,2,3,4];
		var color=["red","blue","green","yellow",'black'];

		var ordinal=d3.scale.ordinal()
		.domain	(index	)
		.range(color);


		var p=d3.select('body')
		.selectAll('p')
		.text(ordinal(0));


		var width = 300;  //画布的宽度
		var height = 300;

		var svg=d3.select('body')
		.append('svg')
		.attr('width',width)
		.attr('height',height)

		//使用线性比例尺来画柱状图
		var dataset=[1.2,2.4,0.6,0.3,0.90];

		var linear=d3.scale.linear()
		.domain([0,d3.max(dataset)])
		.range([0,250]);

		var rectwidth=25;


		svg.selectAll('rect')
		.data(dataset)
		.enter()
		.append('rect')
		.attr('x',function(d,i)
		{
			return i*rectwidth;
		})
		.attr('y',function (d,i) {
			return 300-linear(d);
		})
		.attr('width',rectwidth-2)
		.attr('height',function(d,i)
		{
			return linear(d);
		})
		.attr('fill','steelblue');
	</script>
 -->
<!-- 		第七课坐标轴 -->
	<script>
		var width = 300;  //画布的宽度
		var height = 300;

		var svg=d3.select('body')
		.append('svg')
		.attr('width',width)
		.attr('height',height)


		var dataset=[2.5,2.1,1.7,1.3,0.9];

		var linear=d3.scale.linear()
		.domain([0,d3.max(dataset)])
		.range ([0,250]);

		var axis=d3.svg.axis()
		.scale(linear)
		.orient("bottom")
		.ticks(5);
		//这个ticks有点东西的,其实也就是关于除数只能是1,2,5及其10的倍数这么一个条件限制。建议去看一下另一篇博客学习一下

		svg.append('g')
		.attr("class","axis")
		.attr("transform","translate(20,130)")
		.call (axis);
	</script>


</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值