Как установить конкретные точки метки оси Y на графиках? - PullRequest
4 голосов
/ 13 декабря 2011

Dygraphs обычно автоматически выбирает точки маркировки осей Y (и X) в зависимости от размера ваших осей, размера меток и т. Д. В некоторых случаях он выбирает точки маркировки, которые приводят к меньшей четкости. Например, на диаграмме со значениями оси Y от 0 до 10 она помечается как 0, 4 и 8 (по крайней мере, для диаграммы определенного размера); Я хотел бы, чтобы он обозначался как 0, 5 и 10. Есть ли опция или функция, которую я могу предоставить Dygraphs, чтобы указать, какие точки я бы хотел отметить и отметить?

Ответы [ 2 ]

12 голосов
/ 04 марта 2012

Вы можете сделать это, написав собственную функцию тикера по оси 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 голосов
/ 19 августа 2013

Если вы просто хотите добавить метку к автоматически сгенерированным

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;
        }
      }
    }
  });
...