(seriesConfigs: ReadonlyArray<ResolvedBarSeriesConfig>)
| 194 | } |
| 195 | |
| 196 | export function computeBarCategoryStep(seriesConfigs: ReadonlyArray<ResolvedBarSeriesConfig>): number { |
| 197 | const xs: number[] = []; |
| 198 | for (let s = 0; s < seriesConfigs.length; s++) { |
| 199 | const data = seriesConfigs[s].data; |
| 200 | for (let i = 0; i < data.length; i++) { |
| 201 | const { x } = getPointXY(data[i]); |
| 202 | if (Number.isFinite(x)) xs.push(x); |
| 203 | } |
| 204 | } |
| 205 | |
| 206 | if (xs.length < 2) return 1; |
| 207 | xs.sort((a, b) => a - b); |
| 208 | |
| 209 | let minStep = Number.POSITIVE_INFINITY; |
| 210 | for (let i = 1; i < xs.length; i++) { |
| 211 | const d = xs[i] - xs[i - 1]; |
| 212 | if (d > 0 && d < minStep) minStep = d; |
| 213 | } |
| 214 | return Number.isFinite(minStep) && minStep > 0 ? minStep : 1; |
| 215 | } |
| 216 | |
| 217 | export function computeCategoryWidthPx( |
| 218 | seriesConfigs: ReadonlyArray<ResolvedBarSeriesConfig>, |
no test coverage detected