Skip to main content
100%

Exploring survey data interactively - both axes

✓ Published6🌍 Public
LLaurens
Last edited Nov 10, 2020
Created on Nov 20, 2019

This interactive bar chart lets users explore survey data by changing both axes through dropdown menus. Selecting a variable re-nests the data using `d3.nest()` and updates the scales, axes, and bars with the general update pattern, including explicit enter, update, and exit selections. The visualization uses D3 v5 to render SVG elements, with data loaded from a JSON endpoint. The y-axis displays aggregated metrics like averages or totals computed via `d3.mean` and `d3.sum`, while the x-axis groups respondents by categorical fields.

AI-generated description

Dynamic axes using the update pattern example

In this visualization, the data that's rendered in the view changes because of user interaction

Steps

  • Make the nesting dynamic
  • Nest on health, stress dynamically
  • Make x-axis interactive so remove and enter are also needed

Concept

A chart showing distribution or relation between to variables. The vriables can be chosen through a dropdown menu resulting in a rerendering of datapoints and axis.

  • Group students by a variable on the x axis.
  • Get data from different vars on y axis

Notes

  • Note that d3 has a new way of handling enter, update and exit explicitly as explained in this article.
  • The options in the form are generated from the data using a data join
  • The scales, the data and the selected opton are global. I found that to be nicer than to keep passing them everywhere
  • If you want to add a new option to this interactive graph, all you have to do is add a new computed variable in the prepareData module and everything else will happen automatic
  • Observe how prepareData module now exports 2 functions separately which we can use to have greater control over the transformation of data from our index.js file.

Inspiration

MIT Licensed

Similar vizzes