3

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

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

我发现以下问答非常有用。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 回答