I work with a dataset that gathers stats from all across a city. Each datapoint is of interest and worth visualising to our users, but there are a few parts of the city that significantly deviate from the average into hostspot clusters.

For example many wards throughout the city would have a value of [0-5] for any given month but one particular ward might be [300-400+]. Additionally there's not much mid range.

I'm trying to think about clever ways of visualising this that demonstrate both the data and it's month-by-month changes for most wards throughout the city, but also clearly demonstrate how much of an outlier particular wards can be.

I've tried:

  • Heatmaps - Radius needs to be set to a narrow zone to prevent spill over small boundaries, but due to the massive deviation of our outliers I end up with very pale, widely distributed wards across the city and then one tight dark blotch in the middle. It looks like a pitri dish and isn't very effective. Increasing the radius improves readability but means that datapoints now spill over ward/borough lines.

  • Choropleth - Much more visually appealing but again in a single swatch of colours (yellow for our [0-5]'s and dark red for our [300+]) I think it's still difficult to demonstrate the magnitude of the skew. My mind draws a linear line between each colour step.

Really I need a good idea for geographically representing data on a Logarithmic scale when I have a massive deviation in my data. Additionally data for the mode is quite low significance (0-5) and so is subject to a high variability...

Really struggling to think about how best to plot this. Perhaps the answer not to try and instead break it into separate graphs demonstrating each aspect (skew, significance of mode and peaks?).

Has anyone tried mapping a dataset like this before?

  • What mapping applications do you have available?
    – artwork21
    Nov 22, 2016 at 14:27
  • @artwork21 ah good point, QGIS, R or anything I can write to output via Ruby (so... d3 etc)
    – Huw
    Nov 28, 2016 at 11:54
  • @Mapperz can I get this re-opened? All visualisations are weighted to solve a specific problem, I think I've been specific about the problem I'm having and from the discreet number of visualisation options am asking for references/prior art/experience of other mapping members. I can't see why that's overly opinion based?
    – Huw
    Nov 28, 2016 at 11:57

1 Answer 1


I recently came across this paper and found it helpful.

Jiang, Bin. (2012). Head/tail Breaks: A New Classification Scheme for Data with A Heavy-Tailed Distribution. Professional Geographer - PROF GEOGR. 65. 10.1080/00330124.2012.700499.


I didn't run all of the statistics that he goes through, but my data looked just like his illustration, lots of values at one end and a few ones waaay out. You set your breaks by taking the mean, then taking the mean of the remaining long tail, then take the mean of that, and so on until you don't have a long tail (or 5 groups, which is about what is good for map colors).

I really liked the idea of breaking it up in half and then in half again; logical, simple, and not hard to do. It worked pretty well on my dataset, maybe it will for you too.

  • Can you add, as an example, what categories you would use for the values that the OP gave (wards usually having values in the range 0-5, with occasional outliers in the 300-400 range)?
    – csk
    Aug 16, 2019 at 19:14
  • It's a little hard without the actual data, since I don't know how many is "most" or how many total. To make the breaks, take the average of the whole dataset and that is the first break. Maybe that is 3 on his set. Then take the average of everything greater than 3, maybe that gives you 7. Then take the average of everything greater than 7, and so on. I suppose the average could end up higher than the head of the data, maybe you can try it without those outliers, set the breaks, then add the top values as their own class?
    – EnKay
    Aug 17, 2019 at 20:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.