DimpleJS传奇仅限于该系列的一部分

时间:2015-07-19 16:37:40

标签: d3.js dimple.js

我使用DimpleJS渲染BubblePlot。我的数据如下:

[
   {type: "A", name:"First", x:1, y:200}, 
   {type: "A", name:"Second", x:30, y:10}, 
   {type: "B", name:"Third", x:50, y:120}, 
   {type: "B", name:"Fifth", x:90, y:100}
]

使用以下代码创建图表:

var myChart = new dimple.chart(svg, chartData);
myChart.setBounds(50, 30, 370, 230);
var x = myChart.addMeasureAxis("x", "x");
var y = myChart.addMeasureAxis("y", "y");
var series = myChart.addSeries(["type", "name"], dimple.plot.bubble);
myChart.addLegend(10, 10, 360, 20, "right");
myChart.draw();

这几乎可以满足我的需求,工具提示等中提供了所有数据。但着色基于typename

同样不幸的是,图例还会从name字段中选取所有值,我希望只看到图例中的type值。

我还尝试使用addColorAxis这样的方法:

var c = myChart.addColorAxis("type");
var series = myChart.addSeries("name", dimple.plot.bubble);

但这会产生黑色气泡,显示" NaN"如工具提示中的type并将其放入图例中似乎也不可能。

欢迎任何建议!

1 个答案:

答案 0 :(得分:0)

事实证明,系列中参数的顺序很重要。

这解决了我的问题:

var myChart = new dimple.chart(svg, chartData);
myChart.setBounds(50, 30, 370, 230);
var x = myChart.addMeasureAxis("x", "x");
var y = myChart.addMeasureAxis("y", "y");
var series = myChart.addSeries(["name","type"], dimple.plot.bubble);
myChart.addLegend(10, 10, 360, 20, "right");
myChart.draw();