凹坑x2轴需要位置绑定到x

时间:2015-02-10 21:54:38

标签: javascript d3.js dimple.js

所以这个问题都是关于辅助X轴和控件我需要正确渲染我的图表。

我在堆积的条形图上有x,x2,y。

我正在尝试将x2系列文本放在顶部(成功)。

我需要绑定到x2的x(按日期排序)(似乎可以工作)。

现在我需要在x上直接对齐x2。这是如何工作的?

以下是代码:

<div id="chartContainer"></div>
<script type="text/javascript">
function svgBuild() {

var data = [
{'yrmo': '01-01-2014', 'prcnt':'24', 'halfit' : 'first', 'arbNmbr':'2400'},
{'yrmo': '02-01-2014', 'prcnt':'76', 'halfit' : 'first', 'arbNmbr':'2327'},
{'yrmo': '03-01-2014', 'prcnt':'31', 'halfit' : 'first', 'arbNmbr':'1900'},
{'yrmo': '04-01-2014', 'prcnt':'69', 'halfit' : 'first', 'arbNmbr':'2800'},
{'yrmo': '05-01-2014', 'prcnt':'20', 'halfit' : 'first', 'arbNmbr':'1780'},
{'yrmo': '06-01-2014', 'prcnt':'70', 'halfit' : 'first', 'arbNmbr':'1800'},
{'yrmo': '07-01-2014', 'prcnt':'28', 'halfit' : 'first', 'arbNmbr':'2000'},
{'yrmo': '08-01-2014', 'prcnt':'70', 'halfit' : 'first', 'arbNmbr':'1900'}];

//add property for first half (or put directly in data if possible)
data.forEach(function(row){
   row.halfit = 'first';
});

//create second half
var opposites = data.map(function(row){
    return { "yrmo" : row.yrmo,
        "prcnt": (100 - Number(row.prcnt)),
        "halfit" : "second",
        "arbNmbr" : Number(row.arbNmbr)
       };
});

var svg = dimple.newSvg("#chartContainer", 850, 400);

var myChart = new dimple.chart(svg, data.concat(opposites));
    myChart.setBounds(65, 45, 800, 315);

var x = myChart.addCategoryAxis("x", "yrmo");
    x.addOrderRule("yrmo", true);

var y = myChart.addPctAxis("y", "prcnt");
var x2 = myChart.addCategoryAxis("x", "arbNmbr");
    x2.addOrderRule("yrmo", true);

   myChart.addSeries("halfit", dimple.plot.bar);
   myChart.addSeries("arbNmbr", dimple.plot.area, [x2,y]);
   myChart.draw();
}
svgBuild();
</script>

And here is my jsfiddle work in progress.

1 个答案:

答案 0 :(得分:0)

答案就是这样。

采取:

myChart.addSeries(“arbNmbr”,dimple.plot.area,[x2,y]);

并将其更改为:

myChart.addSeries(“arbNmbr”,dimple.plot.area,[x,y]);

这与我的X系列对齐。