Data Visualization. Scientific Principles, Design Choices and Implementation in LabKey. Cory Nathe Software Engineer, LabKey cnathe@labkey.



Similar documents
Visualization Software

Introduction Course in SPSS - Evening 1

TABLEAU COURSE CONTENT. Presented By 3S Business Corporation Inc Call us at : Mail us at : info@3sbc.com

MetroBoston DataCommon Training

Market Pricing Override

Adam Rauch Partner, LabKey Software Extending LabKey Server Part 1: Retrieving and Presenting Data

Adding 3rd-Party Visualizations to OBIEE Kevin McGinley

Lab 2: Visualization with d3.js

TIBCO Spotfire Business Author Essentials Quick Reference Guide. Table of contents:

SAS BI Dashboard 4.3. User's Guide. SAS Documentation

Visualizing Data: Scalable Interactivity

Charts for SharePoint

Scientific Graphing in Excel 2010

Create interactive web graphics out of your SAS or R datasets

Today's Topics. COMP 388/441: Human-Computer Interaction. simple 2D plotting. 1D techniques. Ancient plotting techniques. Data Visualization:

MicroStrategy Desktop

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys

STATS8: Introduction to Biostatistics. Data Exploration. Babak Shahbaba Department of Statistics, UCI

Visualization Quick Guide

CS171 Visualization. The Visualization Alphabet: Marks and Channels. Alexander Lex [xkcd]

Effective Big Data Visualization

Tableau Your Data! Wiley. with Tableau Software. the InterWorks Bl Team. Fast and Easy Visual Analysis. Daniel G. Murray and

Using SPSS, Chapter 2: Descriptive Statistics

Module 2: Introduction to Quantitative Data Analysis

TIBCO Spotfire Web Player Release Notes

Spotfire v6 New Features. TIBCO Spotfire Delta Training Jumpstart

Unresolved issues with the course, grades, or instructor, should be taken to the point of contact.

P6 Analytics Reference Manual

Information Literacy Program

Karl Lum Partner, LabKey Software Evolution of Connectivity in LabKey Server

Good Graphs: Graphical Perception and Data Visualization

Data Visualization Handbook

SAS BI Dashboard 3.1. User s Guide

Principles of Data Visualization for Exploratory Data Analysis. Renee M. P. Teate. SYS 6023 Cognitive Systems Engineering April 28, 2015

Assignment 5: Visualization

Portal Connector Fields and Widgets Technical Documentation

WebSphere Business Monitor V7.0 Business space dashboards

MANUAL of the DASHBOARD of SUSTAINABILITY

A Tutorial on dynamic networks. By Clement Levallois, Erasmus University Rotterdam

Sisense. Product Highlights.

Gephi Tutorial Quick Start

Data exploration with Microsoft Excel: univariate analysis

ZOINED RETAIL ANALYTICS. User Guide

MARS STUDENT IMAGING PROJECT

Chapter 4 Creating Charts and Graphs

Best Practices in Data Visualizations. Vihao Pham January 29, 2014

Best Practices in Data Visualizations. Vihao Pham 2014

Information visualization examples

Getting started with qplot

Good Scientific Visualization Practices + Python

WebSphere Business Monitor

MicroStrategy Analytics Express User Guide

RapidMiner 5.2: Advanced Charts

Common Mistakes in Data Presentation Stephen Few September 4, 2004

Create Cool Lumira Visualization Extensions with SAP Web IDE Dong Pan SAP PM and RIG Analytics Henry Kam Senior Product Manager, Developer Ecosystem

Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ

Formulas, Functions and Charts

QAD Business Intelligence Dashboards Demonstration Guide. May 2015 BI 3.11

Building Capacity to Use Infographic Tools

Part 1: Background - Graphing

WebSphere Business Monitor V6.2 Business space dashboards

Introduction to D3.js Interactive Data Visualization in the Web Browser

Data Visualization & Dashboard Design Best Practices and Tips

NaviCell Data Visualization Python API

Scatter Chart. Segmented Bar Chart. Overlay Chart

Interactive HTML Reporting Using D3 Naushad Pasha Puliyambalath Ph.D., Nationwide Insurance, Columbus, OH

Principles of Data Visualization

ReceivablesVision SM Getting Started Guide

R Graphics Cookbook. Chang O'REILLY. Winston. Tokyo. Beijing Cambridge. Farnham Koln Sebastopol

What s new in TIBCO Spotfire 7.0

Tutorial for proteome data analysis using the Perseus software platform

Public Health Activities and Services Tracking (PHAST) Interactive Data Visualization Tool User Manual

Developer Tutorial Version 1. 0 February 2015

Use Cases and Design Best Practices

Adobe Marketing Cloud Data Workbench Dashboard User Guide

Excel -- Creating Charts

Charting Your Course: Charts and Graphs for IT Projects

Business Intelligence and Process Modelling

Ingo Hilgefort Advanced Data Visualization with SAP BusinessObjects Design Studio Session # 2686

Visualization with Excel Tools and Microsoft Azure

Data Analysis for Yield Improvement using TIBCO s Spotfire Data Analysis Software

Microsoft Business Intelligence Platform

Process Portal Hands-on Exercise

ReportPortal Web Reporting for Microsoft SQL Server Analysis Services

Data Exploration Data Visualization

Scatter Plots with Error Bars

Choosing Colors for Data Visualization Maureen Stone January 17, 2006

Summary of important mathematical operations and formulas (from first tutorial):

Develop highly interactive web charts with SAS

Chapter 6: Constructing and Interpreting Graphic Displays of Behavioral Data

Why are we teaching you VisIt?

OECD.Stat Web Browser User Guide

IDL. Get the answers you need from your data. IDL

Diagrams and Graphs of Statistical Data

Introduction... 1 Welcome Screen... 2 Map View Generating a map Map View Basic Map Features... 4

Transcription:

Data Visualization Scientific Principles, Design Choices and Implementation in LabKey Catherine Richards, PhD, MPH Staff Scientist, HICOR crichar2@fredhutch.org Cory Nathe Software Engineer, LabKey cnathe@labkey.com

Outline o Scientific Principles and Design Choices o Implementation in LabKey o Case Study: HICOR IQ

Scientific Principles and Design Choices o Why use data visualizations o Choosing the best chart type and visual attributes o Incorporating design best practices

Why use data visualizations? o Leverage visual system to absorb large amounts of information very quickly Identify patterns or outliers o Inspire new questions o Help identify problems

Data Viz show patterns tables do not

Data Viz show patterns tables do not o Average X = 9 o Average Y = 7.5 o Y=3+0.5X --> same linear model o R 2 =0.67 --> same R 2

Data Viz show patterns tables do not

Scientific Principles and Design Choices o Why use data visualizations o Choosing the best chart type and visual attributes o Incorporating design best practices

Chart Types http://www.datavizcatalogue.com/

Visual Attributes

Visual Attributes o Data encoding: mapping data to visual attributes o Process Choose data dimensions to graph Classify data types Determine which visual attributes represent data types most effectively

Data Dimensions o Unique information

Data Dimensions o Most common Visualizations with 3 or 4 data dimensions o Rare Visualizations with 6,7 or more The more dimensions the more visual attributes needed

Data Types o Nominal o Ordinal o Quantitative Interval Ratio Stevens. On the theory of scales of measurements. Science. 1946

Data Types o Nominal (labels) Fruits: apples, oranges, pears o Ordinal Restaurant inspection grades: A, B, C o Quantitative Interval (location of zero arbitrary) Dates Location Ratio (zero fixed) Physical measurement: weight, height Stevens. On the theory of scales of measurements. Science. 1946

Operations Permitted with Data Types o Nominal (labels) Operations: =, o Ordinal Operations: =,, <,>,, o Interval (location of zero arbitrary) Operations: =,, <, >,,, -(subtraction) Can measure distances or spans o Ratio (zero fixed) Operations :=,, <, >,,, -, /(division), *(multiplication) Can measure ratios or proportions Stevens. On the theory of scales of measurements. Science. 1946

Visual Attributes Adapted from figure 4-3 in Designing Data Visualizations by Illinksy & Steele

Science of Data Viz o Psychophysics Branch of psychology that deals with relationship between physical stimuli and sensory response Human graphical perception

Ranking of Elementary Perceptual Tasks Cleveland & McGill. JASA. 1984. 79 (387): 531-554

Length-Position Experiment Cleveland & McGill. JASA. 1984. 79 (387): 531-554

Length-Position Experiment Most accurate Cleveland & McGill. JASA. 1984. 79 (387): 531-554

Ranking of Elementary Perceptual Tasks Cleveland & McGill. JASA. 1984. 79 (387): 531-554

Chart Types http://www.datavizcatalogue.com/

Chart Types http://www.datavizcatalogue.com/

Chart Types http://www.datavizcatalogue.com/

Chart Types http://www.datavizcatalogue.com/

Chart Types http://www.datavizcatalogue.com/

Chart Types http://www.datavizcatalogue.com/

Scientific Principles and Design Choices o Why use data visualizations o Choosing the best chart type and visual attributes o Incorporating design best practices

Incorporating Design Best Practices o Graphic design Color theory Typography o Tufte s Rules

Tufte s Rules 1.Reduce chart-junk and increase data-to-ink ratio 2.Maximize contrast 3.Use readable labels 4.Don t repeat yourself 5.Instead of legends label data series (points) directly 6.Avoid smoothing and 3D 7.Sort for comprehension Edward Tufte. The Visual Display of Quantitative Information. 2001

Tufte s Rules Edward Tufte. The Visual Display of Quantitative Information. 2001

Tufte s Rules Edward Tufte. The Visual Display of Quantitative Information. 2001

Tufte s Rules Edward Tufte. The Visual Display of Quantitative Information. 2001

Tufte s Rules Edward Tufte. The Visual Display of Quantitative Information. 2001

Tufte s Rules Edward Tufte. The Visual Display of Quantitative Information. 2001

Tufte s Rules Edward Tufte. The Visual Display of Quantitative Information. 2001

Tufte s Rules Edward Tufte. The Visual Display of Quantitative Information. 2001

Tufte s Rules Edward Tufte. The Visual Display of Quantitative Information. 2001

Outline o Scientific Principles and Design Choices o Implementation in LabKey o Case Study: HICOR IQ

LabKey Built-in Reports o For non-developers Plotting tools built in to LabKey Data Regions Rendered using LabKey Visualization API (built on D3js library) Example: box plot, scatter plot, time chart o For developers JavaScript Views R Reports (Rserver/Knitr) Advanced View (invoke command line program) Module Reports (using LABKEY.Report.execute) o Shown in Data Views Browser Customize grouping, label, thumbnail, etc. Control visibility (private vs. shared)

LabKey Data API Access o Access data from study dataset, external schema, list, etc. o LabKey Client APIs Examples: JavaScript, Java, Perl, Python, Rlabkey, SAS Macros, HTTP Interface Secure, auditable, programmatic access to data and services Exporting data grid as a Script

LabKey JavaScript Visualization API o Shapes / Geoms: Point / Bin Path ErrorBar BoxPlot / BarPlot o Interactions: Callback function for point click Callback function for mouse over/out Brushing (1D, 2D) o Plot Helpers PieChart LeveyJenningsPlot SurvivalCurvePlot

LabKey Visualization - Live Demo JavaScript based charts from LabKey Demo Study Data Region > Charts/Views menu Generic Chart (box/scatter plot) Time Chart JavaScript View Reports Webpart

[Live Demo (1 of 5)]

[Live Demo (2 of 5)]

[Live Demo (3 of 5)]

[Live Demo (4 of 5)]

[Live Demo (5 of 5)]

Examples (1 of 3) Panorama - Levey-Jennings report, Pareto plot Data Source: SProCoP Tutorial

Examples (2 of 3) Dataspace - scatter with gutter plots Data Source: CAVD DataSpace

Examples (3 of 3) HIDRA Argos - pie chart, survival curve, bar plot, timeline report Argos, an application developed in partnership with Fred Hutch. The Timeline report was created by the Oncoscape Core team and is maintained by Lisa McFerrin. Oncoscape is supported by Fred Hutch and STTR.

Outline o Scientific Principles and Design Choices o Implementation in LabKey o Case Study: HICOR IQ

HICOR IQ - Overview o Regional Oncology Informatics Platform o GOAL: to provide patients, payers, providers and health systems with transparent information to support decision-making in cancer care

HICOR IQ - Overview o The initial launch includes a limited initial set of reports based on ASCO 2012 Choosing Wisely Recommendations o The initial functionality allows users to select metrics of interest, configure plots based on regional or clinic views, and generate reports categorized by sub-groups

HICOR IQ - Live Demo o Data Views direct link to different metrics o Configure report (apply filters, switch chart type) o Bar plot, Scatter plot, Time plot o Population size, filters, exclusions o Download PDF

[Live Demo (1 of 4)]

[Live Demo (2 of 4)]

[Live Demo (3 of 4)]

[Live Demo (4 of 4)]

HICOR IQ - Implementation o Collaboration between HICOR and LabKey Iterative layout and user experience design D3 code creation for plot rendering o Custom Java module New database schema and tables Use of OLAP cube for accessing measures and dimensions Plots generated with dimple JavaScript D3 library o Additional data security Data can not be directly accessed from schema browser Server only returns aggregate data with small populations removed

HICOR IQ - Code Example renderplot: function () {... //initialize the svg svg = dimple.newsvg("#" + this.renderid, fullwidth, fullheight); //create the chart component and set margins chart = new dimple.chart(svg, data); chart.setbounds(margin.l, margin.t, plotwidth, plotheight); //configure the x-axis x = chart.addcategoryaxis("x", "Group"); x.floatingbarwidth = 20; //configure the y-axis y = chart.addmeasureaxis("y", "Value"); y.showgridlines = false; y.ticks=4; y.overridemax=1.0; y.tickformat = "%"; //sorting the x-axis variable x.addorderrule("group"); //render the chart as an svg and remove the dimple title chart.draw(); x.titleshape.remove(); //use D3 to update some content and add titles this.rendertitle(svg, fullwidth, 0); this.styleaxis(svg, x, y, margin); //define the content of the bar hover tooltip this.overridetooltiptext(s, data, function(row) { return [ "Group: " + row.group, "Utilization: " +row.value ]; }); //add a bar series to the plot s = chart.addseries(null, dimple.plot.bar); dimple: http://dimplejs.org/

HICOR IQ - Code Example renderplot: function () {... //initialize the svg svg = dimple.newsvg("#" + this.renderid, fullwidth, fullheight); //create the chart component and set margins chart = new dimple.chart(svg, data); chart.setbounds(margin.l, margin.t, plotwidth, plotheight); //configure the x-axis x = chart.addcategoryaxis("x", "Group"); x.floatingbarwidth = 20; //configure the y-axis y = chart.addmeasureaxis("y", "Value"); y.showgridlines = false; y.ticks=4; y.overridemax=1.0; y.tickformat = "%"; //add a bar series to the plot s = chart.addseries(null, dimple.plot.bar); var y //sorting = d3.scale.linear() the x-axis variable.range([height, x.addorderrule("group"); 0]); //render the chart as an svg and remove the dimple title y.domain([0, 1.00]); chart.draw(); x.titleshape.remove(); d3.svg.axis().scale(y) //use D3 to update some content and add titles.orient("left") this.rendertitle(svg, fullwidth, 0);.tickValues([0, this.styleaxis(svg,.25, x,.5, y,.75, margin); 1]).tickFormat(function(d) { return d * 100 + "%"; }); //define the content of the bar hover tooltip... this.overridetooltiptext(s, data, function(row) { return [ "Group: " + row.group, svg.append("g") "Utilization: " +row.value.attr("class", ]; "y axis") });.call(axis).style("font-weight","bold").style("font-family", "Arial").append("text").attr("class", "ylabel").attr("y", -20).attr("x", -40).attr("dy", ".71em").text(label); dimple: http://dimplejs.org/

HICOR IQ - Future o Allow new metric definition and data loading o Split module for security (server) vs. plotting (client) o Identification of My Clinic for comparison in scatter plot o Include static reports o Clinic / Payor dashboard report o Better organization of sub-metrics

Thank You Any questions? Catherine Richards, PhD, MPH Staff Scientist, HICOR crichar2@fredhutch.org (soon to be Director, Scientific and User Engagement at Aetion) Cory Nathe Software Engineer, LabKey cnathe@labkey.com