2011-12-12 112 views
3

Dygraphs通常会根据您的坐标轴大小,标签大小等自动选择Y轴(和X轴)标签点。在某些情况下,它会选择导致清晰度降低的标签点。例如,在Y轴值从0到10的图表上,它标记为0,4和8(对于特定尺寸的图表,至少);我希望它在0,5和10处标记。是否有一个选项或函数可以提供给Dygraphs来指定我想标记和打勾的点?如何在dygraph中设置特定的y轴标签点?

回答

12

您可以通过编写自己的y轴股票功能做到这一点: http://dygraphs.com/options.html#ticker

这是相当高级定制,所以要谨慎和dygraph-tickers.js阅读文档。下面是一些粗糙的代码:

<script type="text/javascript"> 
    g = new Dygraph(div, data, { 
    axes: { 
     y: { 
     ticker: function(min, max, pixels, opts, dygraph, vals) { 
      return [{v:0, label:"0"}, {v:5, label:"5"}, {v:10, label:"10"}]; 
     } 
     } 
    } 
    }); 
</script> 

一个缺点这种方法的是,这是唯一的y轴的刻度你永远得到,即使用户平移/缩放在y轴。根据您的应用程序,这可能会也可能不会。

2

如果你只是想添加一个标签到那些自动生成的

g = new Dygraph(div, data, { 
    axes: { 
     y: { 
     ticker: function(min, max, pixels, opts, dygraph, vals) { 
      var your_value = 7.5; 

      //Get auto-generated tickers (numericTicks is the default ticker generator) 
      var tickers = Dygraph.numericTicks(min, max, pixels, opts, dygraph, vals); 
      tickers.push({v: your_value, label: 'Custom Label'}); //Insert your label 

      return tickers; 
     } 
     } 
    } 
    });