2

我想使用gRaphael javascript 库创建一个条形图。gRaphael 是否支持标记轴?

4

4 回答 4

3

您也可以为此使用轴类:

            var chart = r.g.barchart(50,15,gW,167,  [ this.chart.Value ], { }).hover(fin, fout);
            var aX = chart.bars[0][0].x;
            var aW = chart.bars[0][chart.bars[0].length -1].x - aX;
            var axis = r.g.axis(aX,180,aW ,null,null,this.chart.Labels.length - 1  ,2, this.chart.Labels , "|", 0);
            axis.text.attr({font:"12px Arial", "font-weight": "regular", "fill": "#FFFFFF"});
于 2011-06-10T07:10:46.197 回答
2

[我知道这个问题很老,但这是我的解决方案-]

我没有设法使用 rgaxis,但我使用了 aX -

  var x, y = 250;
  for (i = 0; i < MAX_ITEMS; i++) {
    x = chart.bars[0][i].x;
    r.text(x, y, "[" + i + "]").attr(txtattr);
  }
于 2013-02-21T12:16:44.097 回答
0

尽管在此示例中没有标签,但我看到了一些轴。我认为您可以使用 Raphael 函数text()将文本添加到所需位置。

var t = paper.text(50, 50, "X Label");
于 2010-12-01T07:34:00.190 回答
0

对于 Y 轴,我添加了另一个条形图,其中包含我想要标记的步骤。我想您可以将其颜色设置为“透明”。

var myArrY = new Array ();                    // original values                     
// TODO: fill its values as before . . .

var myArrY_steps = new Array(0, 10, 20, 30);  // the steps I want to mark

var myData = new Array ();                     
 myData[0] = myArrY;
 myData[1] = myArrY_steps;   
 var chart = r.barchart(10, 10, 600, 300, myData, 0, {type: "sharp"});
. . . 
 var x = 10;
 var y;
 for (i = 0; i < myArrY_steps.length; i++) {
   // Note: In this loop I use chart.bars[1], the steps array!
   y = chart.bars[1][i].y;                    // calculated by gRaphael !
   r.text(x, y, chart.bars[1][i].value).attr(txtAttr);  
 }
于 2013-04-10T10:25:36.133 回答