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

iplots extreme
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

iPlots eXtreme

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

slide-2
SLIDE 2

iPlots eXtreme - next-generation interactive graphics

Page

Overview

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

2

slide-3
SLIDE 3

iPlots eXtreme - next-generation interactive graphics

Page

About iPlots

  • 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)

3

(Java implementation available since 2003 - www.iplots.org) DEMO - using new iPlots eXtreme

slide-4
SLIDE 4

iPlots eXtreme - next-generation interactive graphics

Page

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
  • ptimizing 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

slide-5
SLIDE 5

iPlots eXtreme - next-generation interactive graphics

Page

New research ideas

  • 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

(in progress...)

slide-6
SLIDE 6

Stat1 Stat2 Stat1

iPlots eXtreme - next-generation interactive graphics

Page

iPlots - Basic Design

6

slide-7
SLIDE 7

iPlots eXtreme - next-generation interactive graphics

Page

iPlots - Plot Design

7

5 10 15

axis plot-specific interface plot primitives single plot primitive highlighting axis ... ... ... ...

slide-8
SLIDE 8

iPlots eXtreme - next-generation interactive graphics

Page

iPlots - Design

Plot Marker (selector) Dataset Variable A Variable B ...

Plot definition

Axis Yi Axis Y Axis X

10 20 5 10 15

Primitive 1 Primitive 2 ...

8

slide-9
SLIDE 9

iPlots eXtreme - next-generation interactive graphics

Page

iPlots - Layers

9

slide-10
SLIDE 10

iPlots eXtreme - next-generation interactive graphics

Page

New in iPlots eXtreme design

  • Plot objects can be visual primitives (graphics
  • bjects) 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

slide-11
SLIDE 11

iPlots eXtreme - next-generation interactive graphics

Page

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

slide-12
SLIDE 12

iPlots eXtreme - next-generation interactive graphics

Page

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

slide-13
SLIDE 13

iPlots eXtreme - next-generation interactive graphics

Page 13

DEMO II

slide-14
SLIDE 14

iPlots eXtreme - next-generation interactive graphics

Page

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

slide-15
SLIDE 15

iPlots eXtreme - next-generation interactive graphics

Page

Contact

  • Simon URBANEK

AT&T Labs-Research urbanek@research.att.com www.iPlots.org

15