javascript - stackedgroupedChart 中的 nvd3 双 X 轴

标签 javascript html angularjs d3.js nvd3.js

我正在使用 nvd3 stackedgroupchart,现在我已将单个 X-Axis 列标签更改为多个。 我还需要为月份名称添加辅助 X-Axis 。我正在使用以下链接中的图表

http://bl.ocks.org/4629518

现在我的图表显示为, enter image description here

我需要像这样在 X 轴上添加月份,

enter image description here

现在我的X-Axis基于以下代码生成:

var xScale = d3.scale.ordinal()
    .domain(d3.range(dataset.length))
    .rangeRoundBands([0, width], 0.8); 

var xAxis = d3.svg.axis()
    .scale(xScale)
    .tickFormat(function(d) { return dataset[d].shift; })
    .orient("bottom");

请帮忙添加X轴的辅助标签,

提前致谢,

最佳答案

创建另一个具有首选比例的轴来映射

  • 使用copy复制比例的函数
  • 向量表中添加新的域值
  • 创建新轴并添加比例
  • 调用(axisNew)并更改变换值

    var x2 = x0.copy();
        x2.domain(["a","b","c","d"]);
    
    var xAxis1 = d3.svg.axis()
        .scale(x2)
        .tickSize(0)
        .orient("bottom");
    
    svg.append("g")
       .attr("class", "x axis")
       .attr("transform", "translate(0," + (height+10) + ")")
       .call(xAxis1);
    

关于javascript - stackedgroupedChart 中的 nvd3 双 X 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39608492/

相关文章:

javascript - JQuery的点击事件是如何和里面的全局变量一起工作的呢?

javascript - 正则表达式: Get the matched value of each match in a Kleene-star expression?

javascript - 我正在重写原来的 .focus() 方法。有什么办法可以让我继续这样做,而不破坏原来的行为

angularjs - 来自 Controller 的 Angular 调用指令

javascript - Angular 过滤器可在应用过滤器之前从输入的单词中删除重音符号

javascript - amcharts 获取鼠标的实际 xValue(日期)

javascript - 在 JavaScript 中使用用户输入会破坏代码

javascript - 异步加载脚本

html - (Delphi)是否可以将标签更改为.html文件中的内容?

javascript - 在指令中观看 ng-model