0

嗨,我正在使用 Raphael 在我的网络上生成条形图,并希望在此页面中的回复之后将索引附加到条形图

https://stackoverflow.com/questions/4057035/raphaeljs-charts-bar-index-fetching?answertab=votes#tab-top。

为此,我需要获取 bc.bars.length 的值。但是,无论我的条形图中有多少条,bc.bars.length 总是返回 1。

这是我的代码:

//Create a bar chart using the values in the selected objects
r = Raphael("bar");
txtattr = { font: "12px arial" };
r.text(160, 10, "Title").attr(txtattr);

var bc = r.barchart(10, 10, 300, 220, [myData]).hover(fin, fout);
alert(bc.bars.length); //always returning 1

有人知道这里出了什么问题吗?提前致谢。

4

1 回答 1

0

这可能有点晚了,但是对于那里的任何人,你知道,我发现自己处于同样的情况,所以让我分享我的答案和我注意到的事情:

(我使用的是graphael 0.5.1)

-我注意到,当您对条形使用和数组时,它会返回 1,就像您所拥有的一样:

var bc = r.barchart(10, 10, 300, 220, [myData])
alert(bc.bars.length); //always returning 1

-但是如果您直接输入值,例如:

var bc = r.barchart(10, 10, 300, 220, [100,450,340,500])
alert(bc.bars.length); //seems to return 4

-但 !如果您正在获取动态数据,那将不起作用!

所以我找到的解决方案是:

//after creating the barchart, let's loop it
var i = 1;
bc.each(function() { 
      i++;
  console.log("bar: "+ i);
});
var total_bars=i-1;
console.log('total_bars: '+total_bars)

我希望这对其他人有帮助 =),这是一个不错的图表库,但很遗憾每个新版本都有一些错误,比如标签等 =(

于 2014-01-21T17:19:51.337 回答