SPSS hasn't exactly been known for generating nice charts, although you really can do so by using your own chart templates. SPSS 25, however, allows you to “create great looking charts by default!”

This made me wonder: are the new charts really that great? The remainder of this article walks through the old and new looks for the big 5 charts in data analysis. All charts are based on bank_clean.sav and I'll include all syntax as well.
Overview “Big 5” Charts
Chart | Purpose |
---|---|
Histogram | Summarize Single Metric Variable |
Bar Chart Percentages | Summarize Single Categorical Variable |
Scatterplot | Show Association Between 2 Metric Variables |
Bar Chart Means by Category | Show Association Between Metric and Categorical Variable |
Stacked Bar Chart Percentages | Show Association Between 2 Categorical Variables |
1. Histogram

I'm not a big fan of the old histogram: the colors depress me and there is insufficient room between the title (“Histogram”) and the top of the figure.
The font sizes of the tick labels and statistics summary are too small. Unfortunately, you can't omit the statistics summary by syntax but you can style it or hide it altogether with a chart template.

The new histogram has handy grid lines by default and much nicer colors. I still think some font sizes are too small but altogether, it's a huge step forward.
Histogram Syntax Example
frequencies whours
/format notable
/histogram.
2. Bar Chart Percentages

What really puzzles me with SPSS bar charts is that they are not transposed by default. With few categories, the bars become awkwardly wide. With many categories, there's insufficient room for the tick labels.

The new bar chart has much nicer styling. However, the bars are now even wider. I feel the transposed bar chart below works much better. Technically, it's the exact same chart as the previous examples, the only difference is that I applied a chart template. With this chart, I'll just increase or decrease its height, depending on the number of categories included.

Bar Chart Percentages Syntax Example
GRAPH
/BAR(SIMPLE)=PCT BY gender
/TITLE "Frequency Distribution over Gender".
3. Scatterplot

The old scatterplot has a rather depressing grey background and no gridlines. However, I do think circles tend to clutter less than dots and thus were a good choice.

The new scatterplot has gridlines by default and a much nicer white background. However, I also feel the dots tend to clutter more than the old circles and it lacks color. If I need 50 shades of grey, I'll go and find myself a book shop.
Scatterplot Syntax Example
GRAPH
/SCATTERPLOT(BIVAR)=whours WITH salary
/MISSING=LISTWISE
/TITLE='Scatterplot Working Hours versus Salary'.
4. Bar Chart Means by Category

Apart from its dull styling: not transposing bar charts may leave little room for tick labels -in this case education levels. SPSS seems to “solve” the problem by using a very tiny font size that doesn't look nice and is hard to read.

The new bar chart has a much nicer styling: it uses a reasonable font size for the x-axis categories. However, a much smaller font size is used for the y-axis. I think this looks rather awkward.
Perhaps even more awkward is the large white space beneath the chart. It doesn't attract a lot of attention in the output viewer window. However, after copy-pasting the chart into a report, it becomes clear that this can't be intentional -or at least I hope it isn't.
Bar Chart Means by Category Syntax Example
GRAPH
/BAR(SIMPLE)=MEAN(salary) BY educ
/TITLE='Mean Salaries by Education Levels'.
5. Stacked Bar Chart Percentages

Regarding the old stacked bar chart, I can't help but wonder: You gotta be kidding me, right? Wrong. No kidding. This chart survived through SPSS 24. I'm not even going to discuss the looks. What I do want to point out, is that the y-axis label says “Count” instead of “Percent”. For adding injury to insult, the percent suffix is also missing from the tick labels.

The new version looks way better -especially the colors! A minor change to the chart builder dialog is that it adds a title by default to the syntax. Unfortunately, the title is wrong: the chart shows “job type by education”, not “education by job type”.
Note that the y-axis is appropriately labeled “Percent” in the new version but the percent suffix is still missing from the tick labels.
And once again, not transposing the chart leaves insufficient space for the tick labels which now had to be rotated and push down the x-axis label. Surely it's a matter of personal preference but I'd rather go for the layout shown below.

Stacked Bar Chart Percentages Syntax Example
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=educ COUNT()[name="COUNT"] jtype MISSING=LISTWISE
REPORTMISSING=NO
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: educ=col(source(s), name("educ"), unit.category())
DATA: COUNT=col(source(s), name("COUNT"))
DATA: jtype=col(source(s), name("jtype"), unit.category())
GUIDE: axis(dim(1), label("Highest completed education level"))
GUIDE: axis(dim(2), label("Count"))
GUIDE: legend(aesthetic(aesthetic.color.interior), label("Current job type"))
SCALE: cat(dim(1), include("1", "2", "3", "4", "5", "6"))
SCALE: linear(dim(2), include(0))
SCALE: cat(aesthetic(aesthetic.color.interior), include("1", "2", "3", "4", "5"))
ELEMENT: interval.stack(position(summary.percent(educ*COUNT, base.coordinate(dim(1)))),
color.interior(jtype), shape.interior(shape.square))
END GPL.
*Stacked Bar Chart Percentages - Pasted from Chart Builder SPSS 25.
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=educ COUNT()[name="COUNT"] jtype MISSING=LISTWISE
REPORTMISSING=NO
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: educ=col(source(s), name("educ"), unit.category())
DATA: COUNT=col(source(s), name("COUNT"))
DATA: jtype=col(source(s), name("jtype"), unit.category())
GUIDE: axis(dim(1), label("Highest completed education level"))
GUIDE: axis(dim(2), label("Percent"))
GUIDE: legend(aesthetic(aesthetic.color.interior), label("Current job type"))
GUIDE: text.title(label("Stacked Bar Percent of Highest completed education level by Current ",
"job type"))
SCALE: cat(dim(1), include("1", "2", "3", "4", "5", "6"))
SCALE: linear(dim(2), include(0))
SCALE: cat(aesthetic(aesthetic.color.interior), include("1", "2", "3", "4", "5"))
ELEMENT: interval.stack(position(summary.percent(educ*COUNT, base.coordinate(dim(1)))),
color.interior(jtype), shape.interior(shape.square))
END GPL.
Subtitles and SPLIT FILE
Creating charts with SPLIT FILE on adds a subtitle to them. Since titles are centered by default, the logical place for the subtitle is right below the main title as shown below (“gender: female”).

Alternatively, one could left align the main title and right align the subtitle as shown below. It looks nicer and makes better use of the available space.

Conclusion
Most charts have seriously improved in SPSS 25. I like the gridlines and the new color cycles -except for the new scatterplots which are entirely grey. Nevertheless, I can't help but feel it was a bit of a hasty job with sometimes insufficient eye for detail.
Next, there's the question: what if I liked the old looks better? Or what if my client does not want these changes? I had a quick look around but I couldn't find any way for returning to the old looks. If they're really really gone, then this violates SPSS’ backwards compatibility.
The same goes for the new charts being wider (854 by 504 pixels) than the old charts (629 by 504 pixels). I sure hope the larger width still fits into the layout of any reports that need to be delivered.
So what do you think about the old and new charts? Please let me know by dropping a comment below.
Thanks!
THIS TUTORIAL HAS 9 COMMENTS:
By Andy W on November 7th, 2017
Good post. V25 does not like certain parts of my prior chart template, so I had to make a new one.
I haven't been able to figure out how to remove the histogram summary actually, as that is part of the template specification that must have changed.
I like the old scatterplot with hollow circles as well. It is a better default for overplotting. Without having a border the circles all blend in together. See https://stats.stackexchange.com/a/25281/1036 for discussion.
I agree your horizontal bars are nicer, but I don't agree on your color choices, but that is quite arbitrary. I did not mind the prior default colors, minus the default for single color bars should be greyscale, the new ones are fine though as well. I don't like your red text though.
Finally agree that the tick labels are much too small by default.
By Ruben Geert van den Berg on November 8th, 2017
Hi Andy, thanks for your comment!
I think the rules for both chart and table templates have become more strict in SPSS 25. For instance
font-weight="normal"
always used to work but now you must use
font-weight="regular"
so perhaps a couple of text replacements could fix your old templates. I'm not sure about that, still working on this myself as well.
For not showing the summary in histograms, set its "visible"="False" as in
http://www.spss-tutorials.com/downloads/histogram-unstyled-no-statistics-summary.sgt
I also built a tool for setting the decimal places in the statistics summary but I'm not sure I ever published it. If you're interested, I'll upload it for you.
I agree that the red is a bit harsh -and some other issues in my styling- but I haven't had the time to correct it.
P.s. very generally, I feel many elements (titles/tick labels/axis labels) have insufficient margins in both the old and new versions of charts, I should have been more explicit about that.
By Doug Stauber on November 8th, 2017
Hi Ruben - Great review! Note the scatterplots have been much improved with the 25 Fixpack 1 (just posted on the SPSS Community). Also, there is a shipped template file called "LegacyDefault.sgt" which puts the classic view styling back. Lastly, you can now copy and paste most charts as Microsoft charts so you can use their styling and editing tools.
By Jeff Boggs on December 29th, 2017
Did v25 add an option that allows you to access the GPL of charts you've modified through Chart Editor after using the EDIT CONTENT\IN SEPARATE WINDOW command?
I'm trying to create a stacked bar chart that only shows part of the stacked bar, and for the life of me I can't figure out how to modify the ELEMENTS syntax. But when I access EDIT CONTENT\IN SEPARATE WINDOW, I can make the offending parts of the bar chart transparent. If I could then paste the new syntax, I'd be happy as a clam.
By Ruben Geert van den Berg on December 29th, 2017
Hi Jeff!
Instead of editing the GPL syntax, try editing the chart in the chart editor and save the SPSS chart template. Then set this chart template with something like
SET CTEMPLATE ...
before running subsequent charts. Or add a
/TEMPLATE ...
subcommand to GGRAPH or GPL (not sure which). Please note 2 things:-the CTEMPLATE setting respects the default folder set with CD and
-not everything (but most) you change to a chart's styling is saved with the chart template.
Hope that helps!