如何在dygraphs中设置特定的y轴标签点?

时间:2011-12-12 21:55:25

标签: dygraphs

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

2 个答案:

答案 0 :(得分: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轴刻度线。根据您的应用程序,可能有也可能没有。

答案 1 :(得分: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;
        }
      }
    }
  });