Dojo StackedColumn工具提示

时间:2012-12-05 01:07:05

标签: javascript dojo tooltip dojox.charting

当我在dojo中创建StackedColumns图时,默认工具提示会显示累积值。我想展示个人价值(或可能两者)。

根据我的经验,当我有一个具有第一个值的系列:2,而另一个具有第一个值:5时,工具提示在悬停在第二个系列上时显示7。我希望它仍然显示5(或可能“值:5,累积值:7”)。

我发现以下Q& A非常有用。 Phillipes jsFiddle示例适用于StackedArea,但我无法让它在StackedColumns上运行。 Dojo StackedAreas chart doesn't accept objects as values

感谢任何帮助。

这是我的代码:

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/

1 个答案:

答案 0 :(得分:3)

这可能被视为一个错误,它表示通过以下方式更改工具提示功能非常容易解决:

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