Skip to content
Jeremy edited this page Jun 28, 2021 · 9 revisions

DVF

Data Visualisation Framework (DVF) is a Drupal 8/9 module designed to turn data sets into visualisations. In summary, it reads data from a source, such as CSV, JSON or even a remote CKAN instance. It then provides the tools for content authors to turn that data into a visualisation that is easily digestible for the website users.

DVF is essentially a "middle man" API, providing an extendable way to add both data sources and visualisation formats. Included visualisations are largely provided via Billboard.js however additional plugins can be developed to display the data however you like.

Out of the box data sources and visualisations

Data sources

Visualisation formats

How it works

DVF provides 2 new field types Visualisation File and Visulatisation URL. These can be added to any entity in Drupal (similar to how you would add a text field). Once added, a content author can upload a file or provide a url which will then be read by DVF. The author will then be presented with a range of options for how they want that data to look.

View the Quick start guide for instructions on installing and configuration

Example use case

I have a CSV containing raw data I want display as a bar chart, I can upload the CSV, select bar chart as the visualisation style, choose what columns I want to display, define which labels should appear on each axis, configure colours of bars and even split the chart into multiple charts based on the value of a column.

When a user visits the page with this chart on it, they can interact with it, disabling/enabling data they are focused on, export it to a PNG or CSV or just download the raw CSV source.

Check out our guides on using DVF with a CSV source, JSON source, CKAN source and even using DVF with Drupal views data.

You can also browse a large list of examples here

Designed to be extended

DVF uses drupal plugin architecture to allow developers to easily add new data sources or visualisations, so if the current functionality isn't enough for your needs, you can create a module that will add what you need.

Documentation on extending DVF can be found here

Supporting organizations

Primary Developers

Doghouse Agency

Sponsors