in packages/showcase/plot/scatterplot-canvas.js [70:116]
render() {
const {drawMode, data, colorType} = this.state;
const markSeriesProps = {
animation: true,
className: 'mark-series-example',
sizeRange: [5, 15],
seriesId: 'my-example-scatterplot',
colorRange: colorRanges[colorType],
opacityType: 'literal',
data,
onNearestXY: value => this.setState({value})
};
const mode = drawModes[drawMode];
return (
<div className="canvas-wrapper">
<div className="canvas-example-controls">
<div>{`MODE: ${mode}`}</div>
<ShowcaseButton
onClick={() => this.setState({drawMode: (drawMode + 1) % 2})}
buttonContent={nextModeContent[mode]}
/>
<ShowcaseButton
onClick={() => this.setState({data: getRandomData()})}
buttonContent={'UPDATE DATA'}
/>
<ShowcaseButton
onClick={() => this.setState({colorType: nextType[colorType]})}
buttonContent={'UPDATE COLOR'}
/>
</div>
<XYPlot
onMouseLeave={() => this.setState({value: false})}
width={600}
height={300}
>
<VerticalGridLines />
<HorizontalGridLines />
<XAxis />
<YAxis />
{mode === 'canvas' && <MarkSeriesCanvas {...markSeriesProps} />}
{mode === 'svg' && <MarkSeries {...markSeriesProps} />}
{this.state.value ? <Hint value={this.state.value} /> : null}
</XYPlot>
</div>
);
}