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

Similar documents
Projekt 1 Ausarbeitung

iplots High Interaction Graphics for R

DSC 2003 Working Papers (Draft Versions) iplots. High interaction graphics for R

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

Interactive Graphics for Statistics

The iplots Package. August 20, 2006

Trellis Displays. Definition. Example. Trellising: Which plot is best? Historical Development. Technical Definition

CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS SPRING 2016 DR. MICHAEL J. REALE

pmg John Verzani October 25, 2007

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

SpRay. an R-based visual-analytics platform for large and high-dimensional datasets. J. Heinrich 1 J. Dietzsch 1 D. Bartz 2 K.

iplots: Interactive Graphics for R

Dynamic and Interactive Graphics in Lisp-Stat

CS 380 Introduction to Computer Graphics. LAB (1) : OpenGL Tutorial Reference : Foundations of 3D Computer Graphics, Steven J.

Blender - Python API #1

Intro to ETW tracing and OSVR. Ryan A. Pavlik, Ph.D. Senior Software Engineer, Sensics, Inc. August-September 2015

THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations(Semester 2) COMP4610/COMP6461 (Computer Graphics) Final Exam

ROOT on ios and RootBrowser app

<Insert Picture Here> JavaFX 2.0

GGobi meets R: an extensible environment for interactive dynamic data visualization

Anaglym: A Graphics Engine Providing Secure Execution of Applications

API Background. Prof. George Wolberg Dept. of Computer Science City College of New York

Viewer. Release gns-mbh.com

itools Tutorial Two Creating Multiple Y-Axis Plots

Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS. For IBM System i (5250)

Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250)

Project report Augmented reality with ARToolKit

Curves & Splines. Assignment #3. Overview & Objectives. Due Dates. CPSC 453 Fall 2018 University of Calgary

Minitab 17 commands Prepared by Jeffrey S. Simonoff

8. MINITAB COMMANDS WEEK-BY-WEEK

Delphi XE. Delphi XE Datasheet

CMB - Helmholtz Zentrum München. ivun 1.1. Case Study Tutorial. Jan Hasenauer,

LAB 1 INSTRUCTIONS DESCRIBING AND DISPLAYING DATA

CENG 477 Introduction to Computer Graphics. Graphics Hardware and OpenGL

CSE4030 Introduction to Computer Graphics

T Multimedia Programming. Different Operating Systems and their Multimedia Support

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk

HELP SESSION IMPRESSIONIST

Project 11 Graphs (Using MS Excel Version )

Working with Metal Overview

To Do. Computer Graphics (Fall 2008) Course Outline. Course Outline. Methodology for Lecture. Demo: Surreal (HW 3)

Plot and Look! Trust your Data more than your Models

Information Coding / Computer Graphics, ISY, LiTH. OpenGL! ! where it fits!! what it contains!! how you work with it 11(40)

Visualization with ArcGlobe. Brady Hoak

Expanding Throughout the Lifecycle and Embracing New Participants

Overview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Performance, memory

GLUT. What is OpenGL? Introduction to OpenGL and GLUT

Chapter Eight: Contents

Package Rserve. R topics documented: February 19, Version Title Binary R server

JMP 12.1 Quick Reference Windows and Macintosh Keyboard Shortcuts

Creating Graphs Using SAS ODS Graphics Designer

Rendercontext & Double-Buffering

Slide 1. Bentley Descartes V8i. Presented by: Inga Morozoff, Bentley

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Figure 1. Overview of ENVI viewers and the list of available bands

3D computer graphics: geometric modeling of objects in the computer and rendering them

Widget. Widget is a generic name for parts of an interface that have their own behaviour. e.g., buttons, progress bars, sliders, drop-down

Notices. Restricted Rights Legend. Keysight Technologies Incorporated, Fountaingrove Pkwy., Santa Rosa, CA , United States

Juniata County, Pennsylvania

Applied Regression Modeling: A Business Approach

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Prezi Creating a Prezi

Chapter 2 First Java Programs

ALTER < 40.5 ALTER < 70.5 GRA < 98.5 FIE < ZZLQ < 4650 ZZLQ < ZZLQ < yes. yes ALTER < 49. yes

CS 4300 Computer Graphics

Etanova Enterprise Solutions

Algorithm Engineering Lab: Ray Tracing. 8. Februar 2018

GUI in C++ PV264 Advanced Programming in C++ Nikola Beneš Jan Mrázek Vladimír Štill. Faculty of Informatics, Masaryk University.

AEMLog Users Guide. Version 1.01

EMERALD: Radar/Lidar Visualization and Manipulation Tool for MATLAB. User s Guide

PyROOT: Seamless Melting of C++ and Python. Pere MATO, Danilo PIPARO on behalf of the ROOT Team

Visualization Tools. Interaction. How do people create visualizations? Jeffrey Heer Stanford University

Rendering Objects. Need to transform all geometry then

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

Impressionist Help Session

CURIOUS BROWSERS: Automated Gathering of Implicit Interest Indicators by an Instrumented Browser

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

CIS 581 Interactive Computer Graphics (slides based on Dr. Han-Wei Shen s slides) Requirements. Reference Books. Textbook

April 4-7, 2016 Silicon Valley

MATLAB 7. The Language of Technical Computing KEY FEATURES

Creating, managing and utilizing a 3D Virtual City in ArcGIS Tamrat Belayneh Eric Wittner

CopperSpice: A Pure C++ GUI Library. Barbara Geller & Ansel Sermersheim CPPCon - September 2015

QGIS LAB SERIES GST 102: Spatial Analysis Lab 3: Advanced Attributes and Spatial Queries for Data Exploration

R Lattice Graphics. Paul Murrell

What s New in ecognition 9.0

The Application Stage. The Game Loop, Resource Management and Renderer Design

Chapter 5: The beast of bias

A Comparison between DirectFB and X11 Graphics Library

Lecture 12: Mid-term test solution & project. CITS 3003 Graphics & Animation

Windows Presentation Foundation (WPF)

A simple OpenGL animation Due: Wednesday, January 27 at 4pm

A Thin-Client Approach for Porting OpenGL Applications to Pocket PC s

Real Time Rendering Assignment 1 - Report 20/08/10

Your Name: Section: INTRODUCTION TO STATISTICAL REASONING Computer Lab #4 Scatterplots and Regression

Introduction to IBM Rational HATS For IBM System i (5250)

Building Java Apps with ArcGIS Runtime SDK

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Feed Your Inner Data Scientist JAVASCRIPT TOOLS FOR DATA VISUALIZATION AND ANALYSIS

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

LECTURE 3 ADMINISTRATION SECTION -A

Transcription:

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 and implementation (more at DSC) Example Summary 2

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

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

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 - Basic Design Stat1 Stat2 Stat1 6

iplots - Plot Design axis plot primitives............ single plot primitive 15 10 5 0 plot-specific interface axis highlighting 7

iplots - Design Marker (selector) Dataset Plot Variable A Variable B... Axis X Axis Y Axis Y i Plot definition Primitive 1 Primitive 2... 20 10 0 0 5 10 15 8

iplots - Layers 9

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

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

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

DEMO II 13

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

Contact Simon URBANEK AT&T Labs-Research urbanek@research.att.com www.iplots.org 15