export function useD3Scales<T>({ data, xKey, yKey }: Options<T>) {
const { width, height, margin } = useResponsiveContainerSize();
const xScale = d3
.scaleTime()
.domain(
d3.extent(data, (d, i) => {
return xKey ? xKey(d) : i;
})
)
.range([margin.left, width - margin.right]);
const yScale = d3
.scaleLinear()
.domain(d3.extent(data, (d) => d[yKey]))
.range([height - margin.bottom, margin.top]);
return { xScale, yScale };
}
export function useD3Scales<T>({ data, xKey, yKey }: Options<T>) {
const { width, height, margin } = useResponsiveContainerSize();
const xScale = d3
.scaleTime()
.domain(
d3.extent(data, (d, i) => {
return xKey ? xKey(d) : i;
})
)
.range([margin.left, width - margin.right]);
const yScale = d3
.scaleLinear()
.domain(d3.extent(data, (d) => d[yKey]))
.range([height - margin.bottom, margin.top]);
return { xScale, yScale };
}