d3自定义订单栏系列有两类

时间:2015-03-27 12:27:01

标签: d3.js dimple.js

按照年份和价值构建一个带有dimplejs(d3.js)和3系列(Contratado,Comprometido,Pago)的条形图。而且我希望条形图总是具有相同的顺序,如:

Contratado Comprometido Pago"按年"

但是图表按值排序,即使我添加排序顺序,图表也会始终更改地点顺序...

//add the categories
x = myChart.addCategoryAxis("x", ["Ano","Tipo"]);
//sort them
x.addOrderRule(["Contratado","Comprometido","Pago"]);}
//add the y axis
y = myChart.addMeasureAxis("y", "Valor");
//
all = myChart.addSeries("Tipo", dimple.plot.bar);
//sort
all.addOrderRule(["Contratado","Comprometido","Pago"]);

我尝试使用这些条形码时总是采用以下格式:

Contratado / Comprometido / Pago逐年

我将图例更改为具有此排序顺序,但我无法对条形图执行相同操作...

以下是图表http://jsfiddle.net/beffes/noatfran/10/

的小提琴链接

1 个答案:

答案 0 :(得分:1)

使用dimple.axis.addGroupOrderRule代替series.addOrderRule。您的轴将具有常规订单规则:

x = myChart.addCategoryAxis("x", ["Ano","Tipo"]);
x.addOrderRule("Ano");

将按年份对组进行排序,以及组订单规则:

x.addGroupOrderRule(["Contratado","Comprometido","Pago"]);

将按顺序排列每组中的条形图。您不需要此图表系列的订单规则。