@keyvaluesystems/react-scatter-graph
v2.0.2
Published
A fully customizable react scatter graph
Downloads
27
Readme
React Scatter Graph
A fully customizable, ready to use scatter graph UI package for React. Try tweaking React Scatter Graph using this codesandbox link here
Installation
npm install @keyvaluesystems/react-scatter-graph
You’ll need to install React separately since it isn't included in the package.
Note for Next.js users, if you are using Next.js version 13 or later, you will have to use the use client
feature to ensure proper compatibility.
Usage
React Scatter Graph can run in a very basic mode like this:
import React, { useState } from 'react';
import ReactScatterGraph from '@keyvaluesystems/react-scatter-graph';
function App() {
data = [
{ x: 450, y: 150 },
{ x: 360, y: 330 },
{ x: 650, y: 315 },
{ x: 270, y: 200 }
];
return <ScatterGraph data={data} graphHeight={500} />;
}
export default App;
The data
array is an array of objects with { x, y } coordinates.
Note: The graph width is responsive. So it can be adjusted by a parent wrapper. You need to provide the height.
React Scatter Graph for date inputs:
Scatter graph is a useful tool for plotting date values. In order to do so, timestamps must be provided for the x-axis values.
import React, { useState } from 'react';
import ReactScatterGraph from '@keyvaluesystems/react-scatter-graph';
function App() {
data = [
// x given in milliseconds corresponding to the date
{ x: 1672876800000, y: 150 },
{ x: 1673568000000, y: 330 },
{ x: 1674086400000, y: 315 },
{ x: 1673222400000, y: 200 }
];
return <ScatterGraph data={data} graphHeight={500} />;
}
export default App;
v2.0.0 (Major Version Change)
This release includes a breaking change. Please read this document carefully before upgrading
Breaking Changes
- The
axisColor
prop has been renamed togridLineColor
.
Migration Steps
- Update Prop: Replace the prop
axisColor
with the namegridLineColor
.
Before
<ScatterGraph data={data} graphHeight={500} axisColor='#00FF00' />
After
<ScatterGraph data={data} graphHeight={500} gridLineColor='#00FF00' />
Props
Props that can be passed to the component are listed below:
Style Customizations
Style customizations can be done by overriding default styles using the styles
prop.
The below code shows all the overridable styles using styles
prop.
<ScatterGraph
data={data}
graphHeight={500}
styles={{
Root?: {...styles},
XLabel?: (xLabel) => ({...styles}),
YLabel?: (yLabel) => ({...styles}),
}}
/>;
For a more specific example, please refer the following:
<ScatterGraph
data={data}
graphHeight={500}
styles={{
Root: {
marginTop: 50
},
XLabel: () => ({
color: 'blue'
}),
YLabel: () => ({
color: 'green'
})
}}
/>
Within the styles
prop, following keys accept a style object:
Root
- overrides the style of outermost container.
Within the styles
prop, following keys accept a function that returns the desired style for each element:
XLabel
- overrides the style of x-axis labels.YLabel
- overrides the style of y-axis labels.