A collection of react components to render common data visualization charts, such as line/area/bar charts, heat maps, scatterplots, contour plots, pie and donut charts, sunbursts, radar charts, parallel coordinates, and tree maps.
Some notable features:
react-visdoesn't require any deep knowledge of data visualization libraries to start building your first visualizations.
react-visprovides a set of basic building blocks for different charts. For instance, separate X and Y axis components. This provides a high level of control of chart layout for applications that need it.
react-vissupports the React's lifecycle and doesn't create unnecessary nodes.
Install react-vis via npm.
npm install react-vis --save
Include the built main CSS file in your HTML page or via SASS:
You can also select only the styles you want to use. This helps minimize the size of the outputted CSS. Here's an example of importing only the legends styles:
Import the necessary components from the library...
import XYPlot XAxis YAxis HorizontalGridLines LineSeries from 'react-vis';
… and add the following code to your
<XYPlot==><HorizontalGridLines /><LineSeries=/><XAxis /><YAxis /></XYPlot>
If you're working in a non-node environment, you can also directly include the bundle and compiled style using basic html tags.
reactVis object will now be available for you to play around.
Take a look at the folder with examples or check out some docs:
To develop on this component, install the dependencies and then build and watch the static files:
npm install && npm run start
Once complete, you can view the component's example in your browser (will open automatically). Any changes you make to the example code will run the compiler to build the files again.
To lint your code, run the tests, and create code coverage reports:
npm run full-test
react-vis makes use of ES6 array methods such as
Array.prototype.find. If you make use of react-vis, in an environment without these methods, you'll see errors like
TypeError: Server rendering error: Object x,y,radius,angle,color,fill,stroke,opacity,size has no method 'find'. You can use
babel-polyfill to polyfill these methods.