SSRS non-ugly #3: Chart styles
This is the third post in a new series on non-ugly SSRS reports. As I stated in the opening post:
SSRS doesn't have to be ugly
This week, lots of folks are tweeting and blogging about the new SSRS 2016. Exciting stuff, looks really great! But what about when you're still stuck with one of the RTM versions of SSRS? Can you improve the looks of your old SSRS versions too? In this blog series I'll dive into this.
In part 1 (the use of typography & fonts), we already touched some graph styling issues in this post, so you'd wonder what is left to say about chart styling. Read on, & you'll know 🙂
The mantra started in earlier posts applies across all chart types here too: remove clutter, use typography and color intensity for content and pay attention to visual weight. In general, all charts can be formatted in the same pattern:
- Remove borders
- Move out the chart title
- Remove axis titles, include information in chart title (or subtitle)
- Remove obsolete axes & ticks (horizontal as well as vertical, depending on the chart type)
- Alter color scheme (switch from Office 2003 towards house style or modern palette)
- Reduce visual weight of context (axis labels, legends, lines, etc.)
- (if needed) enhance visual weight of important information
- Alter font style (trade in Arial for a more modern one, make use of different size and/or color)
I'll provide samples for five categories of charts:
- Line charts
- Map charts
- Bar & column charts
- Pie charts
By default, line charts in SSRS have the tendency not only to look old-fashioned, but also to not being perfectly readable too:
Applying the 'general rules' from above changes the chart like as follows:
Step 1-4 (remove borders, move out chart title, remove obsolete axis titles, remove obsolete axes & ticks) results in a somewhat 'cleaner' look. Still, the readability of quarters on the horizontal axis is not that good:
Notice these three things:
- By default, SSRS hides some categorical labels, even if it isn't strictly necessary. You can override this by setting Axis Properties -> Interval from 'Auto' to '1'
- Make labels more meaningful. When reading '1 2 3 4' it isn't immediately visible this is about quarters - could be weeks or months too. Make the labels read 'Q1' to 'Q4'1.
- Removing tick marks is generally a good idea. However, with line charts I don't think you should remove the ones on the horizontal axis2
The most dramatic improvements here are steps 6 and 7: reducing the visual weight of context (labels, ticks, gridlines, legends) while enlarging the visual weight of the content (i.e. the chart's lines). It's quite easy - pick greyscale for labels (more black = more important), and give the chart's lines a point 2 instead of 1. In the results below I used a new colorscheme too, but you would've hardly recognized any colors without thicker lines anyway:
The final 'general' step (8, altering font style) makes it look truly modern:
However, there is one major improvement that's neglected here: reduce the amount of information shown - why are you showing all your Sales Employees in one chart? Why are we showing all years and quarters? Food for thought, which I'll cover in another post - stay tuned!.
The most important lesson with map charts is: reduce clutter. No other chart is so obviously pre-loaded with loads and loads of old-fashioned eye-candy. Gradients,
Most important steps to remove clutter here are:
- Remove duplicate legend (in a bubble chart, this is different of course, but here it's unneeded
- Remove gradients (For all elements: Properties -> Fill)
- Remove 'shadows' from underneath all blocks (For all elements: Properties -> Shadow -> Set offset to '0pt')
This leaves us with a more spacious chart:
Applying the 7 'generic' steps results in something we could even call nice:
Notice that I changed from a three-color to a one-color-scale too. Stephanie Evergreen explains here why that's a good idea.
Although the need of gauges as a means of data visualization is questionable, let's act this time like you'd need one3.
Update (2015-10-30 14:21): I told you the use of gauges is questionable, but I didn't tell you how to do it better. Luckily, Koen Verbeeck pointed out kindly to me that using bullet charts is a much better way of visualizing your targets than using gauges4.
I'll cover these in another post, but for now, be warned not to use gauges (and forgive me for leading you into temptation of using bad data visualization). In the meantime, it's still interesting to see how the 'old fashioned' gauges in SSRS could look much better, almost like the Power BI gauges..
SSRS offers out-of-the box Gauge and KPI functionality - but you could say that the way of dressing these has changed a little bit if you compare the SSRS built-in gauges with the Power BI ones:
Is it possible to make the SSRS gauge look more modern? Or maybe even to look like the Power BI one? Let's try! Here's what I've done:
- Set the frame style to 'None'
- Disable all tick marks on the scale
- Disable label rotation
- Change pointer to 'radial'
- Remove the visual clutter from the pointer
- Disable gradient
- Give it a decent color from your color scheme
- Remove shadow
- Set the scale interval to the same value as the scale maximum
- Set the scale width to the same value as the pointer width (say 20%)
- Give it a gray color
- Move scale labels outside of the scale
- Reduce the scale radius to a smaller percentage (for example, 45%)
- Place the pointer across the scale (instead of 'inside')
- Fix the markup of labels
- Remove the Range
- Add label width the value of the marker.5
- Alter font styles
- Add a descriptive title
Result looks like this:
One disappointment: as far as I can see, there's no way to align the baseline of the scale labels with the start / end of the scale (apart from hiding the scale labels and adding two labels manually). If you know of a way, please let me know too! Still, I think the mission of making the gauge look more modern can be marked 'accomplished':
As a final hint: try playing around with the width of the gauge combined with the scale radius. It will give you more flexibility than you'd think before :).
Bar & Column charts
I've written some quick improvements regarding bar & column charts in my first post, so let's just show the difference here6:
If you're curious how these looks came into being, look at the first post in this series.
With regard to pie charts, here's the key trick to improving the looks:
- Select the chart (please make sure the entire chart is selected)
- Right-click -> Delete.
That's it for today, folks! If anything, take these three thoughts with you:
- How much data do you really need to show in one visual? Maybe the fact that 'all employees' in a chart lead to a cluttered chart isn't a bad thing...
- Ever thought about using only one signal color, instead of multiple?
- Save the pies for dessert ;-).
Series: SSRS non-ugly