微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

d3.js – 升级D3 Band从v3升级到v4

我正在尝试将 this fiddle更新为D3 v4

http://jsfiddle.net/AdamMills/Ljeh2etj/

这是原始缩放功能

bars.attr("transform","translate(" + d3.event.translate[0]+",0)scale(" + d3.event.scale + ",1)");
chart.select(".x.axis").attr("transform","+(height)+")")
    .call(xAxis.scale(x.rangeRoundBands([0,width * d3.event.scale],.1 * d3.event.scale)));
chart.select(".y.axis").call(yAxis);

我试图根据d3-zoom的文档更新它

bars.attr("transform",d3.event.transform);
chart.select(".x.axis").attr("transform",d3.event.transform)
    .call(xAxis.scale(d3.event.transform.rescaleX(x)));
chart.select(".y.axis").call(yAxis);

我在recaleX中遇到了一个未定义的错误
我错过了什么?

解决方法

您可以从小提琴中更改缩放功能的第二行:

chart.select(".x.axis")
                    .attr("transform","translate(" + d3.event.transform.x + "," + (height) + ")")
                        .call(
                             xAxis.scale(
                                 x.rangeRound([0,width * d3.event.transform.k])
                                     .paddingInner(.1 * d3.event.transform.k)));;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐