Диаграмма D3 - Как я могу поместить ось X ниже оси Y? - PullRequest
0 голосов
/ 20 марта 2020

Я хочу, чтобы моя ось X была в нижней части графика, но когда почему данные обнуляются, тогда они попадают в центр оси Y? Как я могу предотвратить его попадание в центр ??

my graph

let x = d3.scaleBand().rangeRound([0, width]).padding(1),
  y = d3.scaleLinear().range([height, 0])

x.domain(data.map(function (d) { return d.timescale; }));
y.domain([0, d3.max(trends, function (c) {
  return d3.max(c.values, function (v) {
    return v.total;
  });
})]);

1 Ответ

0 голосов
/ 22 марта 2020

Проблема возникает из-за того, что максимальный экстент y.domain не определен. В качестве запасного варианта вертикальная ось центрируется.

Чтобы устранить эту проблему, убедитесь, что установлено значение, в приведенном ниже примере масштаб по оси y равен go как минимум между доменами 0 и 1.

Как только это будет исправлено, ось x должна быть правильно расположена внизу области диаграммы.

let maxExtent = Math.max(1, d3.max(trends, function (c) {
  return d3.max(c.values, function (v) {
    return v.total;
  });
}))

y.domain([0, maxExtent]);
...