小倍数:如何添加轴?

有谁知道如何在下面的示例中添加y轴? https://bl.ocks.org/mbostock/e1192fe405703d8321a5187350910e08

该示例说明了如何使用每个数据系列的动态计算的yScale一次生成多个图表.但是如何使用局部yScale将yAxis添加到每个图表?

最佳答案
给定您链接的示例,您唯一需要做的就是为每个SVG设置局部变量:

@H_403_12@axis.set(this,d3.axisRight(ty).ticks(3));

在这里,我使用ticks(3)是因为那里没有太多垂直空间,而ty是为每个SVG创建的比例.然后,您以后可以将该局部变量用作:

@H_403_12@svg.each(function(){ axis.get(this)(d3.select(this) .append("g") .attr("transform","translate(" + width + ",0)")); });

这是更新的bl.ocks:https://bl.ocks.org/GerardoFurtado/7ce71db8470c75940feed0d64b3f1f25/fb38b0867f434268e254f08e469cf38113179472

PS:请注意以下事实:我在这里使用…

@H_403_12@axisGenerator(groupSelection)

而不是更传统的方式

@H_403_12@groupSelection.call(axisGenerator)

…因为我们无法用传统模式做到这一点.为了在没有每种方法的情况下使用传统模式,您需要一个奇怪的辅助函数,例如:

@H_403_12@svg.append("g") .attr("transform",0)") .call(generateAxis); function generateAxis(selection) { selection.call(axis.get(selection.node())); };

相关文章

事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支持第三个参数...
js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其他强类型语言...
什么是跨域 跨域 : 广义的跨域包含一下内容 : 1.资源跳转(链接跳转,重定向跳转,表单提交) 2.资源...
@ "TOC" 常见对base64的认知(不完全正确) 首先对base64常见的认知,也是须知的必须有...
搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : 的缩写,说都能直接说出来 :模型, :视图, :视图模...
首先我们需要一个html代码的框架如下: 我们的目的是实现ul中的内容进行横向的一点一点滚动。ul中的内容...