GENERATE DYNAMIC CHARTS WITH VICTORY
NET|April 2020
Matt Crouch shows you how to build interactive charts and graphs in React using customisable ready-made components
Matt Crouch

Collecting data can be very useful for any project but making use of that data is more important. If figures and values are presented in a spreadsheet, for example, it can be difficult to tell what – if any – significant information it holds.

Victory is a library that can build charts in a declarative manner. It can respond to state changes and animate to show any new data. Unlike other libraries such as D3.js, it does not need direct control of the DOM.

In this tutorial, we will be creating a pie chart and a line chart using Victory. These will display the output for a simulated status dashboard.

To begin, make sure the tutorial files are downloaded and open up the tutorial directory on the command line. Then install the dependencies that we need from NPM, which includes React, Victory and a couple of other libraries to help format the data. Finally, start the development server.

> npm install
> npm start

The first component tracks the uptime of the application in a pie chart. This Uptime component gives a clear indication if the reliability falls below acceptable standards. Open the component at:

src/Uptime/index.js.

Each chart component supplied by Victory has sensible default values in case no other props are supplied to it. Each one is exported from the “victory” package we installed from NPM. Our first one – VictoryPie – will draw a simple monochrome pie chart along with some sample data. Add one to our Uptime component.

The pie chart is a comparison between uptime and downtime. Given the percentage of uptime is a value between 0 and 1, we can calculate the downtime by seeing what’s left over.

Continue reading your story on the app

Continue reading your story in the magazine

MORE STORIES FROM NETView All

Camille Gribbons

UX designer at Booking.com, Camille Gribbons reveals how she first got into the industry

7 mins read
NET
June 2020

THE 5G UI REVOLUTION

Tris Tolliday describes his vision of a web UI catapulted forwards by 5G

3 mins read
NET
June 2020

HOW TO SHOWCASE YOUR DEV SKILLS

Aude Barral shares 5 top tips for landing your dream developer job

3 mins read
NET
June 2020

KNIVES OUT

Murder mystery film, Knives Out, grabbed everyone’s attention, and so did the fun website that promoted it. Oblio tells Tom May how it created its innovative 3D navigation

6 mins read
NET
June 2020

HOW EMOTIONAL LABOUR HINDERS WOMEN IN TECH

Christine Brewis, head of digital marketing at Studio Graphene, discusses how gender parity in tech has changed over the last ten years, and what more can be done

5 mins read
NET
June 2020

EDAN KWAN

He swapped life as a singer for a career making eye-popping digital visuals. The Lusion founder chats to Tom May about battling demons, winning awards and where digital advertising is heading

8 mins read
NET
June 2020

ANDREW COULDWELL

The Brit in LA discusses his new book on design systems, Laying the Foundations

3 mins read
NET
June 2020

Top 5 Tips For Ensuring Web Content Is Accessible For All

Merlyn Meredith outlines five top tips for ensuring web content is accessible for all

2 mins read
NET
May 2020

WHAT DOES THE FUTURE HOLD FOR BROWSERS?

Nico Turco examines the state of play with browsers, whether developers should encourage diversity or monopoly and how Google fits into it all

6 mins read
NET
May 2020

YEARS IN THE MAKING

Exclusively for net: The latest in a series of anonymous accounts of nightmare clients

3 mins read
NET
May 2020