iplots extreme
play

iPlots eXtreme Next-generation interactive graphics for analysis of - PowerPoint PPT Presentation

iPlots eXtreme Next-generation interactive graphics for analysis of large data Simon Urbanek AT&T Labs Statistics Research Overview About interactive graphics iPlots: next generation - why and how? New approaches Design


  1. iPlots eXtreme Next-generation interactive graphics for analysis of large data Simon Urbanek AT&T Labs Statistics Research

  2. Overview • About interactive graphics • iPlots: next generation - why and how? • New approaches • Design and implementation (more at DSC) • Example • Summary 2 iPlots eXtreme - next-generation interactive graphics Page

  3. About iPlots DEMO - using new iPlots eXtreme • iPlots = Interactive Graphics for R - selection, highlighting, brushing ... - interactive change of plot parameters - queries - all essential plots (scatterplots, barcharts, histograms, parallel coordinate plots, mosaic plots, boxplots ..) • Extensible framework - add your own objects (points, lines, text, polygons, ...) - create custom plots (define statistical objects in R) (Java implementation available since 2003 - www.iplots.org) 3 iPlots eXtreme - next-generation interactive graphics Page

  4. Next generation: Goals • Support for large data - fast rendering (leverage modern GPUs via OpenGL) - native data structures (no copying from R) - fastest code possible (C++ subset, aggressively optimizing compilers) • Integration - seamless integration in R GUIs - direct callback interface with R • Clean user interface - learn from “clunkiness” of old iPlots and other IGs 4 iPlots eXtreme - next-generation interactive graphics Page

  5. New research ideas (in progress...) • Combine models and plots interactively - p = iplot(x, y) + lm(y ~ x) • creates a visual representation of the model in the plot • the representation is fully interactive: - supports queries, interprets selection - allows change of model parameters interactively - functional approach (the method is a function of plot type and model class) allows generalization and extensibility • more Exploratory Model Analysis (EMA) 5 iPlots eXtreme - next-generation interactive graphics Page

  6. ����� � ����� � ����� � ����� � ����� � ����� � ���� � ����� � ���� � ���� � ���� � ���� � ���� � ���� � ���� � ���� � iPlots - Basic Design Stat1 Stat2 Stat1 6 iPlots eXtreme - next-generation interactive graphics Page

  7. iPlots - Plot Design single plot primitive plot primitives axis ... ... ... ... 15 10 5 0 axis highlighting plot-specific interface 7 iPlots eXtreme - next-generation interactive graphics Page

  8. iPlots - Design Marker (selector) Dataset Plot Primitive 1 Plot definition 20 Variable A Axis X Primitive 2 Variable B ... Axis Y 10 ... Axis Y i 0 0 5 10 15 8 iPlots eXtreme - next-generation interactive graphics Page

  9. iPlots - Layers 9 iPlots eXtreme - next-generation interactive graphics Page

  10. New in iPlots eXtreme design • Plot objects can be visual primitives (graphics objects) or statistical primitives (linked to data) • All primitives can have individual callbacks • Allows multiple markers (e.g. 1:1, 1:n, m:n linking), no strict distinction between iSets • R objects can have virtual attributes with direct access into C++ objects (e.g. line$color = 1 , histogram$bin.width = 0.1 ) • Reference-semantics storage (e.g. plot$MyFoo ) 10 iPlots eXtreme - next-generation interactive graphics Page

  11. High-performance graphics back-end • Can be used as R graphics device (very fast!) • Supports double-buffering, delayed drawing (display when ready) and layers - controlled by R (great for animations) • Exposes all interactivity to R (from mouse, keyboard level to selection, zoom etc.) • Flexible layout facility for all components (R graphics, interactive plots, ...) 11 iPlots eXtreme - next-generation interactive graphics Page

  12. Implementation • Complete re-write from scratch • Uses a strict subset of C++ (no templates, MI, ...) • Purely self-contained code (no STL, ...) • Own object model (NeXT-like semantics, reference counting, debug-mode with RTTI) • Cross-platform (purely OpenGL based + very thin platform-specific layer [Cocoa, Windows, GLUT, ...]) • Does not depend on a toolkit • Can be used as a stand-alone application or R package or an application linked to libR 12 iPlots eXtreme - next-generation interactive graphics Page

  13. DEMO II Page 13 iPlots eXtreme - next-generation interactive graphics

  14. Conclusion • Fast (C++, OpenGL: interactivity on >1 mio points) • Efficient (no copying, reference semantics) • Built-in support for interactive visualization of statistical models • Extensible (custom visuals, statistical objects, plots) • Combines all worlds in one package: Fastest R device, interactive graphics, OpenGL (3D) • CRAN release: September 2009 development code publicly available now http://RForge.net/Acinonyx/ 14 iPlots eXtreme - next-generation interactive graphics Page

  15. Contact • Simon URBANEK AT&T Labs-Research urbanek@research.att.com www.iPlots.org 15 iPlots eXtreme - next-generation interactive graphics Page

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend