拉斐尔条形图 - bc.bars.length总是返回1

时间:2013-07-16 01:30:55

标签: raphael graphael

您好我正在使用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

任何人都知道这里出了什么问题?提前谢谢。

1 个答案:

答案 0 :(得分: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

- 但是!如果你得到dinamic数据,这是行不通的!

所以解决方案我找到了这个:

//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)

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