I’m generally ashamed of my wardrobe from 1997-2004. Socks with sandals, too-short golf shorts. Oh, it was heinous. I found the cure to bad style was simply to pay more attention to what looks good on others, and start wearing more of that. Much like my fashion sense, my sense of style for reports has evolved over the years into something a little more sophisticated. I take almost as much pride in a report or web page that looks clean as I do one that runs clean. Through lots trial and error — mostly error, it seems — I’ve found a few schemes that work well. I want to share the schemes I use, along with the code to implement them.
I like these because with only one hue (or is it tint? See, I told you I’m not a graphic designer) you can use other colors to draw attention to important information, a la Stephen Few. I prefer greens and blues (I dress the same way — shocking) because they’re unprovocative and people seem to prefer them over warm tones in reports.
Blue
#DEF1FA Highlight row/column |
#BCD7E4 Header/Footer |
#9AC2D6 | #6FA4BF | #437C99 |
Green
#EAF8D2 Highlight row/column |
#D7E4BC Header/Footer |
#C2D69A | #A4BF6F | #688038 |
I rarely use the last darkest two colors in the scheme because black text starts to blend into the background, especially when it’s printed using color laser. It’s better to use white text on the darkest one. The lightest three colors are best for header/footer rows and sub-total/total columns in a table.
Note I’m using HTML color codes, not .Net named colors. I’ll elaborate on that in a separate post some other time, but for now, I’ll just mention it involves Find & Replace in Visual Studio.
The sets of five are also good for illustrating depth or degrees of severity, like a heatmap. Here’s an example where Thursday has a lot of something and Wednesday has a little:
If you want to plug them into a chart, just add an expression like this one to the Fill attribute in the series properties of the chart:
=IIf(Fields!val.Value < .2, “#DEF1FA”,
IIf(Fields!val.Value < .4, “#BCD7E4”,
IIf(Fields!val.Value < .6, “#9AC2D6”,
IIf(Fields!val.Value < .8, “#6FA4BF”,
IIf(Fields!val.Value >= .8, “#437C99”, “Black”)))))
And there you have it. Style being a matter of individual taste, these themes don’t appeal to everyone. That said, of all the themes I’ve come up with so far, these have been the most popular with my customers. I hope you find them useful too.