Learn R Programming

openair (version 1.0)

timeProp: Time series plot with categories shown as a stacked bar chart

Description

This function shows time series plots as stacked bar charts. The different categories in the bar chart are made up from a character or factor variable in a data frame. The function is primarily developed to support the plotting of cluster analysis output from polarCluster and trajCluster that consider local and regional (back trajectory) cluster analysis respectively. However, the function has more general use for understanding time series data.

Usage

timeProp(mydata, pollutant = "nox", proportion = "cluster",
  avg.time = "day", type = "default", statistic = "mean",
  normalise = FALSE, cols = "Set1", date.breaks = 7, date.format = NULL,
  box.width = 1, key.columns = 1, key.position = "right",
  auto.text = TRUE, ...)

Arguments

mydata
A data frame containing the fields date, pollutant and a splitting variable proportion
pollutant
Name of the pollutant to plot contained in mydata.
proportion
The splitting variable that makes up the bars in the bar chart e.g. proportion = "cluster" if the output from polarCluster is being analysed. If proportion is a numeric variable it is split into 4 quantiles (by defau
avg.time
This defines the time period to average to. Can be sec, min, hour, day, DSTday, week, month, quarter or year
type
type determines how the data are split i.e. conditioned, and then plotted. The default is will produce a single plot using the entire data. Type can be one of the built-in types as detailed in cutData e.g. "season", "year", "week
statistic
Determines how the bars are calculated. The default (mean) will provide the contribution to the overall mean for a time interval. statistic = "frequency" will give the proportion in terms of counts.
normalise
If normalise = TRUE then each time interval is scaled to 100. This is helpful to show the relative (percentage) contribution of the proportions.
cols
Colours to be used for plotting. Options include default, increment, heat, jet and RColorBrewer colours --- see the openair openColours function for
date.breaks
Number of major x-axis intervals to use. The function will try and choose a sensible number of dates/times as well as formatting the date/time appropriately to the range being considered. This does not always work as desired automatically. The user can t
date.format
This option controls the date format on the x-axis. While timePlot generally sets the date format sensibly there can be some situations where the user wishes to have more control. For format types see strptime. For example, to fo
box.width
The width of the boxes for panel.boxplot. A value of 1 means that there is no gap between the boxes.
key.columns
Number of columns to be used in the key. With many pollutants a single column can make to key too wide. The user can thus choose to use several columns by setting columns to be less than the number of pollutants.
key.position
Location where the scale key is to plotted. Allowed arguments currently include top, right, bottom and left.
auto.text
Either TRUE (default) or FALSE. If TRUE titles and axis labels etc. will automatically try and format pollutant names and units properly e.g. by subscripting the `2' in NO2.
...
Other graphical parameters passed onto timeProp and cutData. For example, timeProp passes the option hemisphere = "southern" on to cutData to provide southern (rather than default northern)

Details

In order to plot time series in this way, some sort of time aggregation is needed, which is controlled by the option avg.time.

The plot shows the value of pollutant on the y-axis (averaged according to avg.time). The time intervals are made up of bars split according to proportion. The bars therefore show how the total value of pollutant is made up for any time interval.

See Also

See timePlot for time series plotting, polarCluster for cluster analysis of bivariate polar plots and trajCluster for cluster analysis of HYSPLIT back trajectories.

Examples

Run this code
## See manual for more examples e.g. related to clustering

## monthly plot of NOx showing the contribution by wind sector
timeProp(mydata, pollutant="so2", avg.time="month", proportion="wd")

Run the code above in your browser using DataLab