Search code examples
rplotggplot2visualizationlattice

R: What are the pros and cons of using Lattice versus ggplot2?


R: What are the pros and cons of using Lattice versus ggplot2?


Solution

  • Love what Roger Peng said when comparing Base/Lattice/gglot2 packages in his ppt: https://github.com/rdpeng/CourseraLectures/blob/master/ggplot2_part1.pptx

    Base

    1. “Artist’s palette” model
    2. Start with blank canvas and build up from there
    3. Start with plot function (or similar)
    4. Use annotation functions to add/modify (text, lines, points, axis)

    Pros:

    Convenient, mirrors how we think of building plots and analyzing data

    Cons:

    1. Can’t go back once plot has started (i.e. to adjust margins);
    2. need to plan in advance
    3. Difficult to “translate” to others once a new plot has been created (no graphical “language”). Plot is just a series of R commands

    Lattice

    Plots are created with a single function call (xyplot, bwplot, etc.)

    Pros:

    1. Most useful for conditioning types of plots: Looking at how y changes with x across levels of z
    2. Thinks like margins/spacing set automatically because entire plot is specified at once
    3. Good for putting many many plots on a screen

    Cons:

    1. Sometimes awkward to specify an entire plot in a single function call
    2. Annotation in plot is not intuitive
    3. Use of panel functions and subscripts difficult to wield and requires intense preparation
    4. Cannot “add” to the plot once it’s created

    ggplot2

    Pros:

    1. Split the difference between base and lattice
    2. Automatically deals with spacing, text, titles but also allows you to annotate by “adding”
    3. Superficial similarity to lattice but generally easier/more intuitive to use
    4. Default mode makes many choices for you (but you can customize!)