DEV Community


Posted on

Visualising data

As a backend engineer, I always wanted to build graphs to show some data interactively. I look up a few libraries but they are not quite easy to use as a relatively new React dev. So I ask my si-fu @_denb again, he recommended me to look at visx/xychar. And yea, it was surprising neat!

Step 1: display a simple line chart

The main thing to display the data is just this piece of code. Simple enough!

      <XYChart height={300} 
        xScale={{ type: 'band' }} 
        yScale={{ type: 'linear' }}>
          <Axis orientation="bottom" />
          <Axis orientation="left" />
          <LineSeries data={data} dataKey="line" {...accessors} />
Enter fullscreen mode Exit fullscreen mode

Step Final: custom y axis, adding glyph and toolstips, etc

In the final code, I tried to represent a team match position. Since position 1 means the team is a top, I will need to reverse the y-axis. And to make it the graph interactive, I added some icons on the data points and tools tip

visx has other lower level libraries, but I found xychart is really battery included and simple to use :D

Top comments (0)