Visualization Grammars (Amanda Shih)

Grammar

What is grammar?

  • In a linguistic sense, grammar + science
  • More generally, principles or set or principles of something

Why grammar?

  • Grammar expands the scope of meaning that its pieces can convey
  • Helps us think/shapes the way that we think
  • Helps us communicate/how we communicate

A history of visualization grammar

  • 1967: Semiology of Graphics
    • Jacques Bertin
    • How to organize thinking about graphics
    • The values we use to encode data (position, size, shape, value, color, orientation, texture)
    • Purpose of graphics (Record, communicate, process)
  • 1999: Grammar of Graphics
    • If graphics are charts, we don't have:
      • reuse
      • easily adding new charts
    • Stages of graphics creation
      • Specs
      • Assembly
      • Display
  • 2001: Polaris
    • Using a grammar of graphics to define the graphics
    • Grammar allows specifications
    • Undo/redo
  • 2006: ggplot
    • Visualizations from within R
    • There are a lot of defaults
    • Things inside the aes() call map to data points
  • 2009: d3.js
    • Interactivity
    • Customizability
    • Use a grammar of graphics implemented in javascript
    • Mapping data to svg
    • Purpose: wanting to present the data well to a large audience
    • Telling a story
    • Illustrating algorithms
    • Building dashboards
  • 2013: Vega
    • Portable grammar + composable interactions
    • Saves specifications to a json document
    • Polestar
    • Rendering is donw in d3.js
    • Vincent is a vega wrapper

Final thoughts

  • The more expressive you want to be, the more verbose your syntax will be.
  • In the future, 3D & VR
  • Network graphics
  • Cross language
  • Domain specific grammars

Lightning Talks

Qlik-sense

  • Charles
  • Qlik-sense/view HIPPA compliant
  • Goes into major EHR systems, like Epic
  • similar to Tableau (but Tableau's cloud isn't HIPPA compliant)
  • Has an R API
  • Has a graphics API

Prezi Misconceptions

  • Luke
  • Tools are not meant for
  • Zooming in and out of a large graphic
  • The value of a bigger picture/takeaway in data presentation/pitches
  • It's easier to keep track of the superstructure of the information
In [ ]: