d3.js ---画坐标轴

画坐标轴

//使用d3的svg的axis()方法生成坐标轴
var x_axis = d3.svg.axis().scale(scale_x),
    y_axis = d3.svg.axis().scale(scale_y)

g.append("g")
    .call(x_axis)
    
页面效果如下:这个时候x轴在页面的上方,不在我们想要的位置,可以通过设置transform属性将坐标轴移到自己想要的位置

clipboard.png

画y轴
g.append("g")
    .call(y_axis)
效果如下,这个时候x轴在页面的上方,不在我们想要的位置,所以要让y轴旋转

clipboard.png

y轴旋转代码:加上 orient()

y_axis = d3.svg.axis().scale(scale_y).orient("left")

旋转后的效果图如下:会发现y轴的数值是由大变小而不是由小变大,这是因为在计算机页面中的时候和几何数学中的坐标轴哦的方向是不一样的
普通数学坐标系:

clipboard.png

计算机屏幕坐标系

clipboard.png

所以旋转后的y轴坐标系的值是由大变小而不是由小变大

clipboard.png

所以我们可以改变y轴的值的范围来改变页面的显示效果
var scale_y = d3.scale.linear()
    .domain([0, d3.max(data)]) //domain定义输入范围
    //将 .range([0, g_height])修改为:
    .range([g_height, 0]) //range()定义输出范围   

clipboard.png

发现这两个类控制着坐标轴样式,通过设置css样式给坐标轴加上刻度

clipboard.png

.domain,
.tick line {
    stroke: gray;
    stroke-width: 1;
}

clipboard.png

到这儿,坐标系就画完了,~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值