# What's the recommended method for charting low values?

I need to chart a number of indicators to evaluate emergency response times for a fire department. In our case, most values should be around 2 minutes, but the range can be between 0 and 10 minutes. I've been working with bar charts (and Few's bullet charts), however, since bar charts work on comparing lengths, and our target values are shorter (around 20% of the bar's potential total length), I'm curious if there's a better way to chart these values. I've considered charting the inverse value (bar is 8 minutes, instead of 2), but that seems counter-intuitive to read. Any help is appreciated.

I'm trying to show the range in turnout time for each unit (blue bar, min to max) overlayed on excellent, mediocre and poor ranges (gray backgrounds). I'm working on adding a marker for the 90th percentile (our standard, but not on chart yet). My problem is as performance improves, the times reduce and consequently, the less length of the bar is used for comparison. I'm trying to determine if there's a better way to mark their performance indicators, since a lower number is better (as opposed to something like profit, where bigger is better).

Sorry, it won't let me post an image to show you, but consider a basic bar chart with the x-axis as time and y-axis is categorical. Under each bar are indicators for 3 performance levels and a single marker is applied to each bar indicating the 90th percentile. Hope that helps.

I was able to upload a picture of the chart. As values improve, they'll get smaller and move closer to the left edge of the bars, and the bars can shrink if the range decreases. I just want to make sure there's as much visual info as possible to make the data points legible.

• What exactly are you trying to chart and what are you trying to show? Charting 8 instead of 2 is no improvement, as far as I can see, and would probably just make the chart more confusing. Mar 29 '12 at 18:49
• I agree with Peter. And... could you show us what you've got so far? Mar 29 '12 at 18:55

I don't think you should underestimate the ability to distinguish between lower values. When placed upon a common scale, it is fairly trivial to distinguish whether one bar is lower than another (can you tell the difference between the length of bars in this example?). One thing that can happen is that bars that are not next to each other are harder to distinguish between, but gridlines and ordering the categories can help (Stephen Few gives an example where gridlines help in this whitepaper on page 2).

Some other notes though in general;

• You have some target ranges, which is ok to include in your graph (to show the times all come well below them. But including the higher ranges reduces the resolution between items (which seems to be your main concern). Consider maybe having two charts, one with the full range (left panel image below), and another with a reduced range so it is easier to distinguish between items (right panel image below).

• You should consider ordering the categories by the data, obvious choices here would be the range with the longest time or the percentile. Even if the categories have a natural ordering, ordering by data can be a striking way to show differences. If your data don't have a natural ordering you should be doing this anyway. See below for an example.

• Finally, maybe consider showing the actual data values (or a sample of data values). I talk about it in the context of showing error bars for experimental data here, but the same logic applies in this situation. This is also a good way to show potential outliers in the data (which the range bars wouldn't really be able to show unless one inferred outliers by seeing a percentile really far away from the top range). If you have many points, consider taking a sample, or using other techniques for scatter plots with a large number of points (make the points smaller and or slightly transparent). This is also a good technique if you want to label outliers.

• Andy, thanks for the answer-you hit upon a number of issues that were in my head, but I couldn't quite articulate. Addressing the ordering isn't practical in my situation, because of a number of other contstraints (mostly related to the end users). However, the multiple scales is a great idea, and I'm going to start working on that today. Also, I really like the dot plot in your third point-did you create that in Excel or R? Thanks again for your insight.
– dav
Apr 3 '12 at 13:42
• It was created in SPSS. In the linked to response on experimental data has all the information necessary to recreate the above chart in either SPSS or R (I can disseminate the code used to create the specific charts above if you want). A workflow in Excel to create jittered dot plots would be, assign groups an integer value, add random noise that is less than the distance between integer values, and then when plotting the jittered points in a scatterplot relabel the integer axis with the correct non-integer labels. Apr 3 '12 at 13:48
• That worked great, although without enough datapoints the jitter looks a bit anemic, so I'm mostly using a simple dot plot in excel. I don't have access to SPSS, and I'm pretty rough in R, so I muddle through with simplified excel solutions.
– dav
Apr 3 '12 at 18:14

I think I've answered my own question. After looking at a lot more examples from my data, pondering what Peter Flom commented, and reading Stephen Few's thoughts on negative values on bullet graphs (which is similar, but not the same as my issue), it appears that having all the values converging on the low end (low values = good in my data set), is not much differenct than having them converge on the high end of a range in other settings (e.g. more profits = good). Based upon my data explorataion, it looks like having clearly marked axis and comparison data was more valuable then which end (left or right) of the bar the data point was at. Thanks for all of your help, getting me to think this through.