Настройка масштаба D3 js по оси Y в зависимости от данных

#d3.js

#d3.js

Вопрос:

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

 var svg = d3.select("#chart"),
    margin = {top: 20, right: 20, bottom: 110, left: 40},
    margin2 = {top: 430, right: 20, bottom: 30, left: 40},
    width =  svg.attr("width") - margin.left - margin.right,
    height =  svg.attr("height") - margin.top - margin.bottom,
    height2 =  svg.attr("height") - margin2.top - margin2.bottom;

var parseDate = d3.timeParse("%Y-%m-%d %H:%M:%S");







var x = d3.scaleTime().range([0, width]),
    x2 = d3.scaleTime().range([0, width]),
    y = d3.scaleLinear().range([height, 0]),
    y2 = d3.scaleLinear().range([height2, 0]);

var xAxis = d3.axisBottom(x),
    xAxis2 = d3.axisBottom(x2),
    yAxis = d3.axisLeft(y);


    var line = d3.line()
        .x(function (d) { return x(d.created_at); })
        .y(function (d) { return y(d.temp); });

    var line2 = d3.line()
        .x(function (d) { return x2(d.created_at); })
        .y(function (d) { return y2(d.temp); });


 x.domain(d3.extent(data, function(d) { return d.created_at; }));
  y.domain([0, d3.max(data, function (d) { return d.temp; })]);
  x2.domain(x.domain());
  y2.domain(y.domain());
  

Пытался использовать floatingScale, но, похоже, это не работает.

Комментарии:

1. Попробуйте y.domain(d3.extent(data, function (d) { return d.temp; })) . Просто любопытство: что такое floatingScale?

2. Спасибо, кажется, работает). floatingScale — это библиотека d3: github.com/darshit-shah/d3.floatingScale

3. Ну, это не библиотека D3, это плагин D3. При использовании плагина проясните это в вопросе (иначе люди подумают, что это новый метод D3).