为什么d3轴类名改变轴格式?

时间:2013-08-12 17:21:37

标签: javascript class d3.js axes

这是一个D3? .js文件?益智游戏我周末遇到了。我有一个y轴,它根据我在追加到svg对象的组上设置y轴属性时使用的类名来更改格式。可能影响它的细节如下:

  1. 创建y轴对象:

    var y = d3.scale.ordinal()

    .domain(d3.range(ydomain.length))
    .rangeRoundBands([2, height],0.08);
    

    var yAxis = d3.svg.axis()

    .scale(y)
    .orient("left") 
    .tickValues(ydomain);
    
  2. 附加y轴:

    svg.append(“g”)

    .attr("class", "**y-axis**") 
    .call(yAxis)
    .append("text") 
    .attr("y", -17)
    .attr("dy", ".71em")
    .style("text-anchor", "middle")
    .style("font-size", "16px") 
    .attr("transform", "translate(5,0), rotate(0)")
    .text("Keywords")
    

  3. 粗体“y轴”是触发有趣行为的部分。如果我将其命名为:“y轴”,我得到这个:

    enter image description here

    但是,如果我使用上面的“y轴”,则格式更改为:

    enter image description here

    出现粗体线而不是带有小刻度线的轴。类名“y轴”,“y轴”的两个版本似乎都是有效的,都调用yAxis对象,这是代码中第一次使用这些类名。那么这种行为的根本原因是什么?我认为有一些网络开发101的东西我没有变得如此简单,基本的解释非常感谢。

1 个答案:

答案 0 :(得分:1)

“y轴”是一个具有相关样式的类,它为您提供带有刻度线的细线。 “y轴”没有这样的样式,并且根据一些不用于轴样式的其他样式属性绘制y轴线。