GUI tools vs programming

  • GUI tools: input data then click and drag e.g., Excel, Tableau, …
    • Repetitive
    • Not a reproducible process
    • More prone to errors
  • Programming: write code to input data and produce chart e.g., R, Python, Julia, …
    • Reproducible
    • No copy and paste
    • Charts update easily if data changes

Generative AI for charts

  • Generative AI is not very good at creating good charts directly from the data.
  • Generative AI-created charts cause reproducibility issues.
  • Generative AI models are not just trained on good charts, they’re also trained on bad (inaccessible) charts.

Generative AI for charts

However, generative AI can help you to write reproducible code that makes charts. By default most charts are mediocre, so you need to know what to ask for if you want a good chart.

Read more about Generative AI for Data Visualisation: nrennie.rbind.io/blog/gen-ai-data-viz

Grammar of Graphics

  • Provides a structured way to describe plots using components like data, aesthetics, and geometric objects
  • Separates what you want to show (data and mappings) from how it is displayed (geometries, scales, and coordinates)
  • Enables flexible and layered data visualisations

Contrast with functions like barplot() or hist().

Python packages

  • matplotlib
  • seaborn
  • Plotly
  • plotnine
  • altair
  • And more!

Plotnine documentation: plotnine.org

plotnine logo

R packages

  • Base R graphics package
  • lattice
  • ggplot2
  • tidyplots
  • tmap
  • Packages for Plotly, highcharts, D3.js,… interfaces
  • And more!

ggplot2 logo

Software for charts

I don’t really care about…

  • which programming language you use to make charts.
  • which packages you use to make charts.
  • which tools you use to help you write code to make charts.

I do care about…

  • being able to design effective and accessible charts
  • being able to check your chart is showing what you think it’s showing
  • being able to reproduce your research results