introduction to lattice graphics richard pugh 4 th december 2012
TRANSCRIPT
Introduction to Lattice GraphicsRichard Pugh4th December 2012
Agenda
• Overview of Lattice Functions• Creating basic graphics• Panelled Graphics• Grouped Data• Multiple Variables• Writing Panel Functions• Summary
The Data We Will Use
• Something relevant and sector independent • London Tube Performance Data from the TFL
website• Excess Travel Hours by Line
http://data.london.gov.uk/datastore/package/tube-network-performance-data http://en.wikipedia.org/wiki/London_Underground
Overview of Lattice Graphics
Overview of Lattice Graphics
• One of the graphic systems of R (others include “Traditional” and “GGPlot”)
• An implementation of the S+ “Trellis” Graphics
• Written by Deepayan Sarkar, Fred Hutchinson Cancer Research Center
List of Lattice Graphic Functions
Function Description Graph Typexyplot Scatter plot Bivariate
histogram Univariate histogram Univariatedensityplot Univariate density line plot Univariatebarchart Bar chart Univariatebwplot Box and whisker plot Bivariate
qq Normal QQ plot Univariatedotplot Label dot plot Bivariatecloud 3D scatter plot 3D
wireframe 3D surface plot 3Dsplom Scatter matrix plot Data Frame
parallel Multivariate parallel plot Data Frame
Key Function Arguments
Argument Descriptionx Plot definition, typically as a formula
data The data frame used for the graphicsubset Any subsets to be applied to the datapanel Function used to draw data in each “panel”groups Grouping variable for the plot
Type of graph Formula Y axis X axis Z axisUnivariate ~ Y Y - -Bivariate Y ~ X Y X -
3D Z ~ X*Y Y X ZData Frame ~ Data Data - -
Creating Basic Graphics
Panelled Graphics
Specifying Panels
• We can use the vertical pipe symbol “|” in order to specify “panels” to be plotted
• This allows us to create the graphics “by” one or more variables
Panel Variables
• During the plot creation, lattice builds a plot data frame containing the variables to plot
• By this time, any categorical “by” variables need to be factors
• So, either change them to characters or factors beforehand
Panel Ordering!
• If you have a factor variable, the ordering of the panels is in “graph” and not “table” order (!!)
• We can resolve using as.table = TRUE• Note that the converting of characters to
factors uses alphabetical ordering
Grouped Data
Grouped Data
• We can specify groupings within our data in order to plot these groupings separately
• By default, lattice will vary styling of the groups specified
• The key argument is the “groups” argument
Take care!
Controlling Styles
• Best done via the underlying lattice style templates
• Use of par.settings argument which takes a list of styles
• We usually use a basic template and change elements of it
• The show.settings function lets you see the current (or adapted) styles
Multiple Variables
Multiple Variables
• We can specify one or more X or Y axis variable in our lattice formula
• This can overwrite the “groups” input• The “outer” argument controls how the
multiple X/Y variables should be plotted
Writing Panel Functions
Panel Functions
• For each lattice graph, R performs the following actions:• Partitions the data• Draws the graph “outline” (i.e. the “panels”)• Passes the data for each panel into the “panel”
function
• We can overwrite this panel function and supply our own …
Panel Functions
• The default “panel” function for a lattice function is “panel.NameOfFunction”
• Let’s look at panel.xyplot …
Arguments for styling
Jitter & other less used bits
Let’s write our own panel function …….
Now what?
• Now we can insert other functions into a panel function which will then impact each individual plot panel
• We can call:• Lattice “low level functions” (lpoints, ltext, llines, lpolygon etc)
• Existing “panel.” functions that exist for this purpose
Summary
Summary
• This was just a quick overview of lattice graphics
• I hope it was useful• For more info, look in the Lattice book, find
examples online or contact Mango …