In these modern times, my utility bill has a bar chart so I can see how my current consumption compares to my historical usage. I decided to create my own version of this utility bill bar chart, and make a few improvements along the way. If you're into SGplot bar
In this 'Rosetta Graph' example, I demonstrate how to control bar chart colors in Gchart and SGplot. But first, here's a little diversion... some artwork in my office here at SAS. There's a *lot* of artwork hanging around at SAS, but this particular painting wasn't created by the SAS artists
You've probably heard of the famous Rosetta Stone. It had the same decree written on it in both ancient Egyptian and Greek, and was an essential key to help modern historians decipher and translate the ancient Egyptian hieroglyphs. To help the 'old timers' (like me) shift from using SAS/Graph to the
You've probably heard of the famous Rosetta Stone. It had the same decree written on it in both ancient Egyptian and Greek, and was an essential key to help modern historians decipher and translate the ancient Egyptian hieroglyphs. To help the 'old timers' (like me) shift from using SAS/Graph to
Marathons seem to be popular these days, therefore I decided to dive into some data and find a way to apply analytics. You might find this interesting if you're a fan of marathons - or if you like seeing the details behind cool graphing techniques! Before we get started, here's
You might have seen in the news that US exports of natural gas to Europe are up 300%. And we recently crossed the threshold where we export more natural gas than we import. This seems like a momentous occasion, and worthy of a graph! But first, let me make sure
I always recommend looking at data in several different ways to get a more complete mental picture. And when the data is changing over time, one great way to view it is using an animation. Follow along for some tips & tricks to animate your own data over time. I'll
A few years ago Sanjay showed how to create a polar graph by creating a gtl template, and then plotting it using Proc SGRender. These days, Proc SGPlot has all the functionality you need to create this graph, therefore I've rewritten the example to just use SGPlot. And while I
While we're on the topic of mortgage rates, let's explore another technique for plotting and comparing the rate data over several years. Last time, we plotted each year's data in a separate graph, and paneled them across the page. This time, let's overlay multiple years together in the same graph.
By using data provided by a Game of Thrones fan, we use SAS to look at screen time for scene locations and characters in this crazy popular show.
SAS Global Forum 2019 (SGF) is rapidly approaching - and which of the hundreds of presentations are you planning to attend? Well, no matter what types of analyses you perform with SAS software, you'll most likely want to present your findings in a really nice/informative graph! Therefore I highly recommend
By using a format, you can change the tick values and create values that range from 100 to 50 to 100 to display the probable outcome of a sporting event.
Have you ever wanted to see examples of all of the output styles that SAS provides? You can run a program and look at the resulting file, styles.html. This post explains more about the styles that you will see including a discussion of attribute priority.
You can use PROC SGPLOT, BY variables, and a SG annotation data set together to put separate annotations into each BY group. However, you need two more steps to make it happen. This post shows all of the steps necessary to put different annotations into each graph when you have a BY variable.
It seems only a few months back I posted an article on creating Pie Charts using a GTL based macro. Well, looking back, that was almost 6 years ago!! Recently, a colleague here at SAS needed to create Pie Charts in his report along with other plots created using SGPLOT
A while back a user requested to create a 3D WaterFall chart as presented by E Castanon Alvarez et. al. in "3D waterfall plots: a better graphical representation of tumor response in oncology" Annals of Oncology, Volume 28, Issue 3, 1 March 2017, Pages 454–456. I posted a blog article titled
There were 97 e-posters in The Quad demo room at SAS Global Forum this year. And the one that caught my eye was Ted Conway's "Periodic Table of Introductory SAS ODS Graphics Examples." Here's a picture of Ted fielding some questions from an interested user... He created a nice/fun graphic,
The REG statement fits linear regression models, displays the fit functions, and optionally displays the data values. You can fit a line or a polynomial curve. You can fit a single function or when you have a group variable, fit multiple functions.
PROC SGPLOT looks at the PROC statements, it looks at the data, and it writes a template that might depend on the data. If you want to understand how the graph is created, you need to look at the PROC SGPLOT code, the graph template and data objects that it constructs, and the final graph.
Usually, you use axis tables when there is a clear link between the rows of the axis table and the graph. I'll show how to use an axis table to create a table that is independent of the graph. This post also uses discrete attribute maps.
This post shows you how to run PROC SGPLOT, create smooth curves by using penalized B-splines, use ODS OUTPUT to create an output data set from PROC SGPLOT, and process it to display drop lines.
The POSITION= option in the TEXT statement provides you with a way to position text in a variety of locations relative to a point. You can use this option to fine tune label placement in a plot primarily created by using the SCATTER statement and the DATALABEL= option.
I hope everyone has noticed some new shortcuts in Graphically Speaking. As you scroll down and look to the right, there are shortcuts for Sanjay's getting started and clinical graphs posts and one for my advanced blogs. When Sanjay asked me to make an icon for my advanced blogs, at
This post provides a general macro that enables you to easily display special characters (Unicode) in axis table columns.