yAxisBilanz = (svg) => {
function formatTick(d) {
const s = (d / 1e3).toLocaleString("de-CH");
return this.parentNode.nextSibling ? `\xa0${s}` : `\xa0${s}`;
}
const dimensions = chartDimensions;
const numOfTicks = yBilanz.domain()[1];
const axisHeight = dimensions.boundedHeight;
const pixelsPerTick = 30;
const numberOfTicksTarget = Math.max(
1,
Math.floor(axisHeight / pixelsPerTick)
);
svg
.append("g")
.attr("transform", `translate(${dimensions.margin.left}, 0)`)
.call(
d3
.axisLeft(yBilanz)
.tickSize(
dimensions.margin.left - dimensions.width - dimensions.margin.right
)
.tickFormat(formatTick)
.ticks(numberOfTicksTarget)
)
.call((g) =>
g
.selectAll(".tick line")
.attr("stroke-dasharray", "2,2")
.attr("stroke", ZHColors.black["20"])
)
.call((g) =>
g
.selectAll(".tick text")
.attr("fill", ZHColors.black["60"])
)
.call((g) => {
g.selectAll(".domain").remove();
})
.call((g) =>
g
.append("text")
.attr("x", 0)
.attr("y", 10)
.attr("fill", ZHColors.black["60"])
.attr("text-anchor", "end")
.text("Tsd. t")
);
}