Solved – What’s the recommended method for charting low values

data visualization

enter image description here 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.

Best Answer

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).

reducing range

  • 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.

ordering categories

  • 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.

jittered dot plot