Почему в d3.js axisRight не правильно масштабируется?

У меня есть график.

Вот какая проблема:

введите сюда описание изображения

Слева есть значения, по оси y. И значение не совпадают с графиков. Хотя масштаб для должен совпадать. Я все пробовал. Я точно что то допускаю.

Вот код:

//624 - ширина
//244 - высота
data = [
    {id: '1d', date: "07.09", value: 10},
    {id: '2d', date: "08.09", value: 31},
    {id: '3d', date: "09.09", value: 41},
    {id: '4d', date: "10.09", value: 21},
    {id: '5d', date: "11.09", value: 100},
    {id: '6d', date: "12.09", value: 890},
    {id: '7d', date: "13.09", value: 1000},
    {id: '8d', date: "14.09", value: 900},
    {id: '9d', date: "15.09", value: 980},
    {id: '10d', date: "16.09", value: 1200},
    {id: '11d', date: "17.09", value: 1100},
    {id: '12d', date: "18.09", value: 990},
    {id: '13d', date: "19.09", value: 790},
    {id: '14d', date: "20.09", value: 890},
    {id: '15d', date: "21.09", value: 789},
    {id: '16d', date: "22.09", value: 345},
    {id: '17d', date: "23.09", value: 110},
    {id: '18d', date: "24.09", value: 130},
];

const x = d3.scaleBand().rangeRound([40, 624]).padding(0.1);
const y = d3.scaleLinear().range([244, 0]); // Тут я как понимаю создаю область начиная с 244 заканчивая 0 по оси y. Извините если плохо понял что это.

x.domain(data.map((d) => d.date));
y.domain([0, d3.max(data, d => d.value) + 225]); // определяю по этой оси самое максимальное значение которое может быть и делаю отступ.

const chartContainer = d3.select(".block_schedule");
const chart = chartContainer.append("g");

chart.selectAll('.bar')
    .data(data)
    .enter()
    .append("rect")
    .classed('bar', true)
    .attr("width", x.bandwidth())
    .attr("height", data => 244 - y(data.value))
    .attr("x", data => x(data.date))
    .attr("y", data => y(data.value) - 20);

chart.append('g').call(d3.axisBottom(x).tickSizeOuter(0))
    .attr("color", "#6a6a6a")
    .attr("font-family", "MotivaSansExtraMedium, Sans-serif")
    .attr("font-size", "9px")
    .attr("transform", `translate(0, ${244 - 20})`);

    chart.append('g').call(d3.axisRight(y).tickSizeOuter(0).tickPadding(5)) // тут задаю ось y. Указываю нужный мастштаб
    .attr("color", "#6a6a6a")
    .attr("font-family", "MotivaSansExtraMedium, Sans-serif")
    .attr("font-size", "9px")

chart.selectAll(".label")
    .data(data)
    .enter()
    .append('text')
    .text(data => data.value)
    .attr("x", data => x(data.date) + x.bandwidth() / 2)
    .attr("y", data => y(data.value) - 25)
    .attr('text-anchor', "middle")
    .classed("label", true);

Я очень зеленый в этой теме. Хочу сильно начинать строить графики. Документацию читал, мало что понял, но вот писал и писал и что то получилось, а за недопонимания сами понимаете, идут ошибки. Подскажите пожалуйста!


Ответы (0 шт):