3

Dojo で StackedColumns グラフを作成すると、デフォルトのツールチップに累積値が表示されます。個々の値(または両方)を示したいと思います。

私の経験では、最初の値が 2 のシリーズと、最初の値が 5 のシリーズがある場合、2 番目のシリーズにカーソルを合わせると、ツールチップに 7 が表示されます。引き続き 5 (または「値: 5、累積値: 7」) を表示したいと思います。

以下のQ&Aがとても参考になりました。Phillipes jsFiddle の例は StackedArea では機能しましたが、StackedColumns では機能しませんでした。 Dojo StackedAreas チャートはオブジェクトを値として受け入れません

どんな助けにも感謝します。

これが私のコードです:

require(["dojox/charting/Chart", "dojox/charting/axis2d/Default",  "dojox/charting/plot2d/StackedColumns", "dojox/charting/action2d/Tooltip", "dojox/charting/action2d/Highlight",   "dojox/charting/action2d/Magnify", "dojox/charting/widget/SelectableLegend", "dojo/ready"],
  function(Chart, Default, StackedColumns, Tooltip, Highlight, Magnify, SelectableLegend, ready){
    ready(function(){
      var chart1 = new dojox.charting.Chart("chart1");
      chart1.addPlot("default",{type: "StackedColumns", gap: 2});
      chart1.addAxis("x");
      chart1.addAxis("y", {vertical: true, includeZero: true});    
      chart1.addSeries("A", [2,3,5,7,2,4,6], {plot: "default", fill: "blue", stroke: {color: "blue"}});
      chart1.addSeries("C", [5,4,2,7,5,3,1], {plot: "default", fill: "green", stroke: {color: "green"}});

      var tooltip = new Tooltip( chart1, "default", {
        text : function(point) {
          console.debug(point);
          return "This is " + point.y;        
        }              
      }); 

      chart1.render();
      var clusteredColumnsLegend = new SelectableLegend({chart: chart1}, "chart1Legend");   

    });
  });

新しい jsFiddle @ http://jsfiddle.net/Tony_D/CqNhB/5/を作成しました

4

1 に答える 1

3

これはおそらくバグと見なされる可能性があります。ツールチップ関数を次のように変更するだけで回避するのは非常に簡単です。

var tooltip = new Tooltip( chart1, "default", {        
  text : function(point) {
    console.debug(point);
    return "This is " + point.run.data[point.index];        
  }   
}); 
于 2012-12-05T09:12:14.510 に答える