Как напечатать значения координат по оси X на консоли в линейной диаграмме реакции d3 - PullRequest
0 голосов
/ 01 марта 2019

Я новичок в d3 с реакции и смотрю, есть ли способ напечатать значение тика x Axis на консоль

enter image description here

Мне нужноэти точки для некоторых других функций и может быть, есть способ захватить их.

1 Ответ

0 голосов
/ 02 марта 2019

Вы можете использовать scale.ticks(), это то, как ось генерирует тики, не с помощью функций, специфичных для оси, а масштаба:

// Without tickArguments (same as default behavior):
var ticks = x.ticks(count); // count is optional, defaults to 10, number not always achieved in order to get clean round tick values.

// If tickArguments are specified:
var ticks = x.ticks(...axis.tickArguments())

Как только вы получите значения тиков (немасштабированные),Вы можете масштабировать их, чтобы получить масштабированные / переведенные значения, например что-то вроде:

var x = d3.scaleLinear()
  .domain([0,100])
  .range([0,500]);
  
var axis = d3.axisBottom()
  .scale(x)
  .tickArguments([20, "s"]);
  
// Without tickArguments:
var ticks = x.ticks();
var xValues = ticks.map(function(t) {
  return x(t);
})
console.log(xValues);

// With tickArguments:
var ticks = x.ticks(...axis.tickArguments())
var xValues = ticks.map(function(t) {
  return x(t);
})
console.log(xValues);


// With a specific count and no tick arguments:
var ticks = x.ticks(2)
var xValues = ticks.map(function(t) {
  return x(t);
})
console.log(xValues);
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...