2013-10 Automatic Conversion of Tables to LongForm Dataframes

TableToLongForm automatically converts hierarchical Tables
intended for a human reader into a simple LongForm Dataframe that is
machine readable, hence enabling much greater utilisation of the data.
It does this by recognising positional cues present in the hierarchical
Table (which would normally be interpreted visually by the human brain)
to decompose, then reconstruct the data into a LongForm Dataframe. The
article motivates the benefit of such a conversion with an example
Table, followed by a short user manual, which includes a comparison
between the simple one argument call to TableToLongForm, with code for
an equivalent manual conversion. The article then explores the types of
Tables the package can convert by providing a gallery of all recognised
patterns. It finishes with a discussion of available diagnostic methods
and future work.

Jimmy Oh

Download

2013-9 Improved Importing of Vector Graphics in R

The grImport2 package imports vector images that are stored in the SVG image format for inclusion within images generated by R. The original grImport package performs the same task, but instead using PostScript images as its source image format. This technical report describes the steps taken to improve not only the grImport package, but also follows the development of two new packages, grImport2 and grConvert. The latter, grConvert, converts images from popular vector image formats (PostScript, PDF and SVG) into valid input formats for grImport and grImport2. The grImport2 package is an entirely new package that does not suffer from some limitations of the grImport package, whose limitations are primarily due to the dependence on the PostScript image format.

Simon Potter and Paul Murrell

Read more.

2013-7 Advanced SVG Graphics from R

The gridSVG package has recently provided an interface for
some more advanced SVG graphics features: gradient fills and pattern
fills, clipping paths, masks, and filters. This report describes a
simple test case for some of these advanced graphics features and then
explores some ideas for making use of these features in Statistical
Graphics.

Paul Murrell and Simon Potter

Read more

2013-4 Generating Structured and Labelled SVG

This article discusses the importance of providing structure and labelling within SVG code, particularly when the SVG code is generated indirectly by a high-level system and when the SVG code describes a complex image such as a statistical plot. We argue that this is a desirable goal, but that many high-level systems that generate SVG do not provide sufficient structure and labelling. An example of a system, based on R, that does provide structure and labelling, is described to demonstrate that the goal is acheivable and we highlight the crucial features of this system that we see as important factors in achieving this goal.

Paul Murrell and Simon Potter.

Download.

2013-3 Generating unique names in gridSVG

The gridSVG package exports grid images to the SVG image format for viewing on the web. This article describes the problems associated with retaining grid object names in SVG element id attributes. In addition, new features in gridSVG that allow manipulation and retrieval of generated id attributes are discussed. These new features allow for easier and more predictable development of interactivity in plots generated by gridSVG.

Simon Potter and Paul Murrell

Download

2013-1 TimingManager: Animation Sequences in JavaScript

The TimingManager library is a tool written in JavaScript used to apply animations in a web browser. It is not concerned with creation or modification of animation timing information, and delegates those tasks to R via the animaker package. Primarily TimingManager is focused on assigning actions to existing animations, then playing animation sequences using either a declarative or frame-based approach.

Simon Potter

Download

2012-12 Post-Processing grid Graphics

Statistical plots drawn with the ggplot2 package generate numerous grid grobs and viewports which are labelled and organised into a coherent hierarchy. This report describes an example that shows how to manipulate the grobs and viewports in a ggplot2 plot using tools from the grid package, export the result to SVG using gridSVG, then manipulate the result further using XML tools, to produce an interactive ggplot2 graphic for the web.

Paul Murrell

Download

2012-11 Generating Animation Sequence Descriptions

This report describes the animaker package for generating descriptions of animation sequences. An animation sequence is composed by combining atomic animations in series to create sequence animations or in parallel to create track animations. Functions are provided for manipulating animation sequences, generating timing schemes from animation sequences, and producing diagrams to visualise animation sequences.

Paul Murrell and Simon Potter

Download

2012-9 Writing grid Extensions

New hook functions, makeContext() and makeContent(), have been added to the grid graphics package. These functions allow an alternative approach to developing custom grobs when a grob can only decide what to draw at drawing time rather than when the grob is created. For custom grobs that are based on this new approach, the

grid.force() function provides access to low-level grobs that are otherwise invisible because they are only generated at drawing time.

These functions lead to greater flexibility in the development of custom grobs and more power to modify the result after drawing is complete.

Paul Murrell

Download