Skip to content

Commit d07097d

Browse files
authored
feat(bump): support more series than ranks (#1540)
1 parent a258e0b commit d07097d

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

packages/bump/src/bump/compute.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,23 @@ import { scalePoint } from 'd3-scale'
1010

1111
export const computeSeries = ({ width, height, data, xPadding, xOuterPadding, yOuterPadding }) => {
1212
let xValues = new Set()
13+
let yValues = new Set()
1314
data.forEach(serie => {
1415
serie.data.forEach(datum => {
1516
if (!xValues.has(datum.x)) {
1617
xValues.add(datum.x)
1718
}
19+
if (!yValues.has(datum.y) && datum.y !== null) {
20+
yValues.add(datum.y)
21+
}
1822
})
1923
})
2024
xValues = Array.from(xValues)
25+
yValues = Array.from(yValues).sort((a, b) => a - b)
2126

2227
const xScale = scalePoint().domain(xValues).range([0, width]).padding(xOuterPadding)
2328

24-
const yScale = scalePoint()
25-
.domain(data.map((serie, i) => i + 1))
26-
.range([0, height])
27-
.padding(yOuterPadding)
29+
const yScale = scalePoint().domain(yValues).range([0, height]).padding(yOuterPadding)
2830

2931
const linePointPadding = xScale.step() * Math.min(xPadding * 0.5, 0.5)
3032

packages/bump/stories/bump.stories.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,19 @@ stories.add('Missing data', () => (
133133
/>
134134
))
135135

136+
stories.add('More series than ranks', () => (
137+
<Bump
138+
{...commonProps}
139+
data={generateData().map(series => ({
140+
...series,
141+
data: series.data.map(datum => ({
142+
x: datum.x,
143+
y: datum.y >= 5 ? null : datum.y,
144+
})),
145+
}))}
146+
/>
147+
))
148+
136149
stories.add('Area with fill pattern', () => (
137150
<AreaBump
138151
{...commonProps}

0 commit comments

Comments
 (0)