如何在dimple.js中使用不同的颜色为不同的数据集着色

Fer*_*enc 2 javascript charts d3.js dimple.js

我正在使用另一篇文章的数据和dimple.js脚本:

dimple.js中的多系列

如果您使用该帖子中原始的未经黑客攻击的数据,则如何对利润和收入进行不同的着色,即如何为y1和y3使用两种不同的颜色?纯粹的哲学似乎使酒窝不支持这一点。

Joh*_*der 5

由于引入了复合轴,因此对于较新版本的dimple不需要按该答案那样重组数据。现在可以这样实现:

var svg = dimple.newSvg("body", 800, 400);

var data = [
  {"Month":"01/2013", "Revenue":2000, "Profit":2000, "Units":4},
  {"Month":"02/2013", "Revenue":3201, "Profit":2000, "Units":3},
  {"Month":"03/2013", "Revenue":1940, "Profit":14000, "Units":5},
  {"Month":"04/2013", "Revenue":2500, "Profit":3200, "Units":1},
  {"Month":"05/2013", "Revenue":800, "Profit":1200, "Units":4}
]

var chart = new dimple.chart(svg, data);

chart.setBounds(60,20,680,330);

var x = chart.addCategoryAxis("x", "Month");
var y1 = chart.addMeasureAxis("y", "Revenue");
var y2 = chart.addMeasureAxis("y", "Units");
var y3 = chart.addMeasureAxis(y1, "Profit");
chart.addSeries("Sales Units", dimple.plot.bar, [x,y2]);
chart.addSeries("Sales Revenue", dimple.plot.line, [x,y1]);
chart.addSeries("Gross Profit", dimple.plot.bubble, [x,y3]);

chart.assignColor("Sales Units", "white", "red", 0.5);
chart.assignColor("Sales Revenue", "#FF00FF");
chart.assignColor("Gross Profit", "green");

x.dateParseFormat = "%m/%Y";
x.addOrderRule("Date");

chart.draw();
Run Code Online (Sandbox Code Playgroud)

http://jsbin.com/mafegu/2/edit?js,输出

如您所见,我还根据您的问题为系列分配了一些颜色。第一个参数是系列颜色标识符(在这种情况下,标签应用于每个系列),第二个参数是填充,第三个参数是笔触,第四个参数是不透明度。

唯一的问题是,用于线条的标签(以及用于为系列着色的键)本身不能成为数据中的尺寸名称(否则,酒窝将尝试按其值进行分类)。必要时,尾随空格可区分它们。

编辑:我把错误的链接