Creating Presentation-Quality ODS Graphics Output

Similar documents
New SAS/GRAPH Procedures for Creating Statistical Graphics in Data Analysis Dan Heath, SAS Institute Inc., Cary, NC

Effective Graphics Made Simple Using SAS/GRAPH SG Procedures Dan Heath, SAS Institute Inc., Cary, NC

Introducing Statistical Graphics (SG): Victoria UG May 2018 Mary Harding SAS Canada

Getting Started with the SGPLOT Procedure

Introduction to Statistical Graphics Procedures

Using SAS ODS Graphics Chuck Kincaid, Experis, Portage, MI

Macros for creating a custom report of figures

Graphing Made Easy with ODS Graphics Procedures

Graphing Made Easy with SGPLOT and SGPANEL Procedures

Using PROC SGPLOT for Quick High-Quality Graphs

Annotating the ODS Graphics Way!

Introduction to SAS/GRAPH Statistical Graphics Procedures

How to Create a Custom Style

Combining Text and Graphics with ODS LAYOUT and ODS REGION Barbara B. Okerson, HMC, Richmond, VA

SAS Graph a Million with the SGPLOT Procedure. Prashant Hebbar, Sanjay Matange

Introduction to ODS Graphics for the Non-Statistician

WORKING IN SGPLOT. Understanding the General Logic of Attributes

WORKING IN SGPLOT. Understanding the General Logic of Attributes

Patient Profile Graphs using SAS. Sanjay Matange, SAS Institute, Inc.

Putting on the Ritz: New Ways to Style Your ODS Graphics to the Max

Creating Graphs Using SAS ODS Graphics Designer

BASIC LOESS, PBSPLINE & SPLINE

Converting Annotate to ODS Graphics. Is It Possible?

Exposure-Response Plots Using SAS Janette Garner, Gilead Sciences, Inc., Foster City, CA

Paper Make a Good Graph. Sanjay Matange, SAS Institute Inc.

Something for Nothing! Converting Plots from SAS/GRAPH to ODS Graphics

A Visual Revolution Statistical Graphics in SAS 9.2 Bob Newman, Amadeus Software Limited

SGPANEL: Telling the Story Better Chuck Kincaid, COMSYS, Portage, MI

The Art of Overlaying Graphs for Creating Advanced Visualizations

Intermediate SAS ODS Graphics Chuck Kincaid, Experis Business Analytics, Kalamazoo, MI

What could ODS graphics do about Box Plot?

Visual Styles for V9 SAS Output Jeff Cartier, SAS Institute Inc., Cary, NC

SAS/GRAPH Introduction. Winfried Jakob, SAS Administrator Canadian Institute for Health Information

Getting Started with the SAS 9.4 Output Delivery System

A Programmer s Introduction to the Graphics Template Language Jeff Cartier, SAS Institute Inc., Cary, NC

Why 4? Selected features of 9.4 to whet your appetite!

Advanced Graphs using Axis Tables

Desktop Studio: Charts. Version: 7.3

Great Time to Learn GTL

ABSTRACT INTRODUCTION THE ODS TAGSET FACILITY

Org Chart Designer Pro

Maintaining a 'Look and Feel' throughout a Reporting Package Created with Diverse SAS Products Barbara B Okerson, Anthem, Inc.

Desktop Studio: Charts

Introduction to ODS Statistical Graphics

Key Features in ODS Graphics for Efficient Clinical Graphing Yuxin (Ellen) Jiang, Biogen, Cambridge, MA

When Simpler is Better Visualizing Laboratory Data Using SG Procedures Wei Cheng, Isis Pharmaceuticals, Inc., Carlsbad, CA

Adding CSS to your HTML

Lab #3. Viewing Data in SAS. Tables in SAS. 171:161: Introduction to Biostatistics Breheny

Creating Large Format Posters Using PowerPoint TIP SHEET. Before you begin working in PowerPoint, sketch out your poster on paper.

Appendix D CSS Properties and Values

SAS Cloud Analytic Services 3.1: Graphing Your Output

And Now, Presenting...

Getting Started with the SAS 9.4 Output Delivery System

Stylizing your SAS graph A needs-based approach

PharmaSUG China

FILLPATTERNS in SGPLOT Graphs Pankhil Shah, PPD, Morrisville, NC

Drill Table. Summary. Modified by Phil Loughhead on 16-Jun Parent page: PCB Dialogs

Clinical Trial Reporting Using SAS/GRAPH SG Procedures Susan Schwartz, SAS Institute Inc., Cary, NC

Poster Instructions OUHSC College of Allied Health Office of Academic and Student Services AHB 1009 /

Checkbox 5 - Style Guide

TS11 Clinical Trial Reporting with SAS ODS Graphics

ODS GRAPHICS DESIGNER (Creating Templates for Batchable Graphs)

It's All in the Presentation Jeff Cartier, SAS Institute Inc., Cary, NC

Controlling the Drawing Space in ODS Graphics by Example

Controlling Appearance the Old Way

Introduction to Web Design CSS Reference

Introduction to Web Design CSS Reference

ONYX 12 Finishing Tools

An Introduction to ODS for Statistical Graphics in SAS 9.1 Robert N. Rodriguez SAS Institute Inc., Cary, North Carolina, USA

InDesign Tools Overview

ODS in an Instant! Bernadette H. Johnson, The Blaze Group, Inc., Raleigh, NC

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

INDEX. Access. See Database Alignment, 21, 34, 36-37, 71, 74

Product Page PDF Magento Extension

McMaster Brand Standard for Websites

Building Page Layouts

PROFILE DESIGN TUTORIAL KIT

CHAPTER 1 Introduction to SAS/GRAPH Software

Mac. Logo Guidelines March 2018

CSS Selectors. element selectors. .class selectors. #id selectors

Poster-making 101 for 1 PowerPoint slide

Interactive Visualization of Clinical Laboratory Parameters with SAS Stored Processes and jquery AJAX

Office Excel. Charts

PRINTING GROWER FIELD MAPS OFF THE WEB

Making Your SAS Results, Reports, Tables, Charts and Spreadsheets More Meaningful with Color

L E S S O N 2 Background

Using Adobe Contribute 4 A guide for new website authors

CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education INFORMATION TECHNOLOGY

Polishing and Running a Presentation

Information Technology and Media Services. Office Excel. Charts


INFS 2150 Introduction to Web Development

INFS 2150 Introduction to Web Development

RAD Posters & Preparation Overview. Research Appreciation Day Education Session February 2017

SAS Visual Analytics 8.2: Working with Report Content

Styles, Style Sheets, the Box Model and Liquid Layout

Page Layout Using Tables

INFORMATION AND COMMUNICATION TECHNOLOGY 0417/03. Paper 3 Data Analysis and Website Authoring For examination from 2020

A Step-by-step guide to creating a Professional PowerPoint Presentation

GRAPHIC S TANDARDS M ANUAL

Transcription:

Creating Presentation-Quality ODS Graphics Output Dan Heath, Data Visualization R&D

What is ODS Graphics? New framework for defining graphs Used by SAS products to generate automatic graphs Accessed by templates, procedures, and interactive applications 2

Three Main Presentation Considerations Effective graphics content Correct graphics style Resolution 3

Effective Graphics One graph is more effective than another if its quantitative information can be decoded more quickly and more easily by most observers. -- Naomi Robbins 4

Effective Content Considerations Effective chart type Visual attributes that emphasize data Effective data labeling Uncluttered axes Graph layouts to eliminate clutter 5

Effective Chart Type 6

Effective Chart Type 7

Effective Chart Type proc sgpanel data=percent_data noautolegend; where percentage ne.; panelby sex; rowaxis grid; vbar age / group=age datalabel response=percentage nostatlabel; run; 8

Visual Attributes That Emphasize Data 9

Visual Attributes That Emphasize Data proc sgplot data=sashelp.class; yaxis grid; refline 110 / label; vline age / response=weight stat=mean; run; 10

Effective Data Labeling proc sgplot data=sashelp.cars; scatter x=mpg_city y=msrp / group=type datalabel=model; loess x=mpg_city y=msrp / nomarkers; run; 11

Effective Data Labeling data cars; set sashelp.cars; if (msrp >= 100000) then expensive=model; run; proc sgplot data=sashelp.cars; scatter x=mpg_city y=msrp / group=type datalabel=expensive; loess x=mpg_city y=msrp / nomarkers; run; 12

Effective Data Labeling 13

Effective Data Labeling title1 "CL Bundle Compliance & CL Infection Rate"; proc sgplot data=compliance; series y=compliance x=month / markers datalabel=comp_label curvelabel=" Compliance" curvelabelloc=inside; series y=bsi x=month / y2axis markers datalabel=bsi_label curvelabel=" BSI" curvelabelloc=inside; yaxis label="% Compliance" values=(0 to 1 by 0.2) grid; y2axis label="bsi per 1000 CL Days" values=(0 to 20 by 4); run; 14

Effective Labeling 15

Effective Labeling proc sgplot data=sashelp.class; scatter x=weight y=height; inset "This is some important information" "in the bottom-right corner" / position=bottomright; inset ("A"="37" "B"="209" "C"="Value") / position=topleft border; run; 16

Effective Labeling 17

Effective Labeling ods escapechar= ~'; proc sgplot data=sashelp.class; reg x=weight y=height / clm cli; inset ( "Y~{unicode bar}"="62.34" "R~{sup '2'}"="0.94" ~{unicode alpha}"=".05" ) / position=topleft border; run; 18

Uncluttered Axes proc sgplot data=sashelp.class; yaxis values=(0 to 150 by 10) grid; vbar age / response=weight stat=mean; run; 19

Uncluttered Axes proc sgplot data=sashelp.class; yaxis grid; vbar age / response=weight stat=mean; run; 20

Uncluttered Graphics proc sgplot data=sashelp.stocks; yaxis grid; series x=date y=close / group=stock; run; 21

Uncluttered Graphics proc sgpanel data=sashelp.stocks; panelby stock / columns=1; rowaxis grid; series x=date y=close; run; 22

Global Options Antialias / AntialiasMax Border LegendAreaMax Scale Width / Height 23

Style Considerations Font Size Line Thickness Marker Size Color or Black-and-White Data Emphasis 24

Style Considerations Slides 25

Style Considerations Slides Two techniques for enlarging the graph contents Creating a graph smaller than you need and stretching it. Modifying the ODS style 26

Stretching Technique 450px 325px 27

Style Modification Technique proc template; define style styles.presentation; parent = styles.listing; end; run; 28

Style Modification Technique 1. Run the following code to write the style to the SAS log: proc template; source styles.listing; run; 2. Perform the following steps to open the style in an editor in a Display Manager session: a. Type odst in the command field. b. Expand SASHELP.TMPLMST. c. Click the Styles folder. d. Double-click the LISTING style. 29

Style Modification Technique style GraphFonts "Fonts used in graph styles" / 'GraphDataFont' = ("<sans-serif>, <MTsans-serif>",7pt) 'GraphUnicodeFont' = ("<MTsans-serif-unicode>",9pt) 'GraphValueFont' = ("<sans-serif>, <MTsans-serif>",9pt) 'GraphLabelFont' = ("<sans-serif>, <MTsans-serif>",10pt) 'GraphFootnoteFont' = ("<sans-serif>, <MTsans-serif>",10pt) 'GraphTitleFont' = ("<sans-serif>, <MTsans-serif>",11pt,bold) 'GraphAnnoFont' = ("<sans-serif>, <MTsans-serif>",10pt); 30

Style Modification Technique class GraphDataDefault / endcolor = GraphColors('gramp3cend') neutralcolor = GraphColors('gramp3cneutral') startcolor = GraphColors('gramp3cstart') markersize = 7px markersymbol = "circle" linethickness = 1px linestyle = 1 contrastcolor = GraphColors('gcdata') color = GraphColors('gdata'); 31

Style Modification Technique proc template; define style styles.presentation; parent = styles.listing; style GraphFonts "Fonts used in graph styles" / 'GraphDataFont' = ("<sans-serif>, <MTsans-serif>",7pt) 'GraphUnicodeFont' = ("<MTsans-serif-unicode>",9pt) 'GraphValueFont' = ("<sans-serif>, <MTsans-serif>",9pt) 'GraphLabelFont' = ("<sans-serif>, <MTsans-serif>",10pt) 'GraphFootnoteFont' = ("<sans-serif>, <MTsans-serif>",10pt) 'GraphTitleFont' = ("<sans-serif>, <MTsans-serif>",11pt,bold) 'GraphAnnoFont' = ("<sans-serif>, <MTsans-serif>",10pt); class GraphDataDefault / endcolor = GraphColors('gramp3cend') neutralcolor = GraphColors('gramp3cneutral') startcolor = GraphColors('gramp3cstart') markersize = 7px markersymbol = "circle" linethickness = 1px linestyle = 1 contrastcolor = GraphColors('gcdata') color = GraphColors('gdata'); end; run; 32

Style Modification Technique 33

Printed Reports 34

Printed Reports proc sgplot data=sashelp.prdsale; vbar region / response=actual group=year; run; 35

Printed Reports proc sgpanel data=sashelp.prdsale; panelby year / novarname; vbar region / response=actual nofill; run; 36

Graph Resolution Web page resolution Slide presentation resolution Printed report resolution 37

Web Page Resolution - Firefox 38

Web Page Resolution Internet Explorer 39

Slide Presentation Resolution 40

Slide Presentation Resolution 41

Printed Report Resolution Requires high resolution for good quality Printer DPI should be used High resolution may require a memory adjustment 42

Printed Report Resolution /* Options used when SAS is accessing a JVM for JNI processing */ -JREOPTIONS=( -Dsas.jre.libjvm=C:\PROGRA~1\Java\JRE15~1.0_1\bin\client\jvm.dll -Djava.security.policy=!SASROOT\core\sasmisc\sas.policy -Dsas.ext.config=!SASROOT\core\sasmisc\sas.java.ext.config -Dsas.app.class.path=C:\PROGRA~1\SAS\SASVER~1\9.2\eclipse\plugins\tkjava.jar -DPFS_TEMPLATE=!SASROOT\core\sasmisc\qrpfstpt.xml -Djava.class.path=C:\PROGRA~1\SAS\SASVER~1\9.2\eclipse\plugins\SASLAU~1.JAR -Djava.system.class.loader=com.sas.app.AppClassLoader -Xmx128m -Xms128m -Djava.security.auth.login.config=!SASROOT\core\sasmisc\sas.login.config -Dtkj.app.launch.config=!SASROOT\picklist ) 43

Conclusion Importance of content Consider different styles for different mediums The best resolution is not always high-resolution 44

Creating Presentation-Quality ODS Graphics Output Dan.Heath@sas.com