Acinonyx - iPlots eXtreme: next-generation interactive graphics


About Acinonyx
GIT access
Check results

About Acinonyx aka iPlots eXtreme

What is Acinonyx
         Acinonyx (genus of cheetah - for its speed) is the codename for the next generation of a high-performance interactive graphics system iPlots eXtreme. It is a continuation of the iPlots project, allowing visualization and exploratory analysis of large data. Due to its highly flexible design and focus on speed optimization, it can also be used as a general graphics system (e.g. it is the fastest R graphics device if you have a good GPU) and an interactive toolkit. It is a complete re-write of iPlots from scratch, taking the best from iPlots design and focusing on speed and flexibility.

The main focus compared to the previous iPlots project is on:

  • speed and scalability to support large data (it uses OpenGL, optimized native code and object sharing to allow visualization of millions of datapoints).
  • enhanced support for adding statistical models to plots with full interactivity
  • seamless integration in GUIs (Windows and Mac OS X)

The project it currently in experimental stage (see known issues below), with a public access since the useR! 2009 meeting. An official release on CRAN is expected in September 2011 as ix (acronym for iPlots eXtreme that is fast to type :)).

What's new?
2011/09/06 - iPlots eXtreme now has a generic X11 back-end which should work on any unix system with X11 and OpenGL (GLX) support. So Linux users please start testing as well but see "known bugs" below.
2011/09/02 - last known issues on Windows have been resolved (flickering on redraw) so we would like to encourage Windows users to test the latest iPlots eXtreme and send us their feedback as we are gearing towards the CRAN release. Obviously, Mac users are enouraged, too, although that part was stable for a long time now. The remaining planned changes concern mainly added documentation and cleanup of the R API, no major changes to the plots themselves are planned prior to the release.
2011/08/31 - issues with fonts and textures on Windows are finally resolved as well as capturing of modifer keys, so labels and queries now also work on Windows (now also including 64-bit).
2011/05/31 - new UI system "cue widgets" have been introduced along with many new fixes and features.
In the next weeks the focus will be to improve support of Windows and Linux.
2010/08/15 - many new features and time-series plots thanks to Anushka Anand.
2009/07/01 - Sources and binares for Mac OS X and Windows are now publicly available.
2008/06/02 - Acinonyx now has a custom webpage with details. The intended release timescale has been defined.

Acinonyx can be installed directly on Windows and Mac OS X in R 2.12.x or R 2.13.x simply by using
(Older R versions may work, too, but require you to compile it from sources)

Please read the "Known Issues" section first!

On other systems you must have OpenGL (known as "libgl-mesa" on Linux) and X11 installed and compile Acinonyx from sources using install.packages("Acinonyx",,"",type="source").

Linux: On Ubuntu/Debian you will need at least the following packages, i.e. run:
sudo apt-get install libgl-dev libglu-dev libxt-dev libfreetype6-dev fontconfig
(Note: depending on your system version and setup APT may want you to choose from libgl implementations, for example in squeeze you will need to install libgl1-mesa-dev since libgl-dev is jsut a virtual package that lists the choices.) Also you may want to install mesa-utils and use glxgears to test that your OpenGL installation is working and has a reasonable performance before you try iX.
For other, less common Linux distributions you'll need the equivalent headers and libraries.

One of the main reasons why Acinonyx is still experimental is the lack of documentation. If you have used iPlots before then you should find yourself at home in Acinonyx - most commands are the same. The same applies to most keys (hold <Ctrl> for queries, <Alt> for re-arrangement, <Meta> (or middle mouse button) for zoom, arrow keys for transparency and point size etc.). Just some general concepts -- Acinonyx relies more on the objective nature of plots, so you're better off saving the results of plot invocations -- you can do things like:
h = ihist(x)    # create a histogram
h$bin.width = 5 # change the bin width programmatically
h$spines = TRUE # switch to spinogram
To use Acinonyx as the R graphics device (it's wicked fast if you have a good GPU), try
Known Issues
Acinonyx is currently under very active development, so a lot is planned for the future, but some things may not work yet. Here is the list of known issues:

  • Although the Acinonyx base is cross-platform, the main development platform is Mac OS X, so there things work the best. The Windows back-end has by now also caught up, although we have only a limited set of Windows setups so please tell us if you have issues, none are known at this point.
  • On unix (except for OS X) platforms the default fall-back is now X11. It is almost complete, the only known issue is that key handing doesn't work yet except for modifier keys.
  • Some basic plots are missing (boxplot, mosaic plots). Yes, we'll add them.
  • When using Acinonyx R graphics device, line parameters (lty, lmitre, ljoin) are ignored.

Please send feedback to or the stats-rosuda-devel mailing list.