2013-09-13 5 views
2

Привет, мне нужно ограничить мои линейные графики с NVD3/D3 наличием оси Y без отрицательных чисел. Я пытаюсь сделать это на основе this answer как таковой: ".scale() домен ([0, MaxValue])"Предотвратить отрицательные значения в оси диаграммы NVD3

chart.y1Axis.scale().domain([0, maxValue]) 
      .tickFormat(d3.format(',f')); 

Но добавление к цепи убивает всю диаграмму. Я не могу понять, как это сделать, и не могу найти пример, который работает. Есть предположения? Благодаря!

ответ

2

y1Axis.scale() возвращает масштабный объект, который изменяет .domain([0, maxValue]).

.tickFormat(d3.format(',f')) нужен объект оси, а не объект масштаба. Чтобы устранить проблему, положите .scale() после того, как вы закончите изменять ось:

chart.y1Axis 
    .tickFormat(d3.format(',f')) 
    .tickValues([1, 2, 3, 5, 8, 13, 21]) 
    .etc(...) 
    .scale() 
    .domain([0, maxValue]) 
Смежные вопросы