Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am trying to overlay a nominal variable (2 categories - rainfed vs irrigated) in a choropleth map over a numeric variable.

enter image description here

In order to highlight the difference in pattern among the two categories, I have outlined one category with a different color (irrigated areas in "red"), while the uncoloured ones are rainfed areas.

However, the map feels cluttered and the outline mixes with darker shades of the numeric variable.

I am trying to avoid using two different color shading schemes to represent the two categories as I feel that would hide the overall distribution of the underlying variable.

Is there a better way to represent this bivariate classification using the ggplots2 package in R (which I am currently using it for making the attached map)?

These maps are eventually going to be printed on paper.

share|improve this question
Consider calculating euclidean distance on the irrigation area borders. More details here: gis.stackexchange.com/q/53163/8104 –  Aaron Feb 24 '14 at 13:39
@Aaron, thanks for the link, Directional shading might work for this, and I could use the buffer tool to draw those areas in R. My only concern though, would be the comparatively small size of the polygons which may get fudged by the broader outlines. I will try this out. –  varungoel123 Feb 25 '14 at 6:49

1 Answer 1

Instead of outlines to indicate the irrigated areas you should use something like a transparent fill pattern (e.g. lines, hachures). An example would look similar to this:


or just google "map fill patterns" to get an overview of the options. Using outlines only for the irrigated areas would give the impression that irrigation is not a continous phenomenon.

share|improve this answer
That is a great suggestion. Is there a way to do this in ggplot2 or some other package in R? I have around 60-70 maps where the demarkation of rainfed vs irrigated areas remain constant. With ggplot2, I was able to automate the map production, something that I have not been able to achieve using ArcMap or Qgis –  varungoel123 Feb 25 '14 at 7:24
I am not familiar with ggplot2 or R. However this fill pattern is a fairly Standard thing and should not be too difficult to achieve. I know how to do that in Qgis or ArcMap. In both programs you can save that style once you defined it and reuse it. Automation should well be possible with both. A python script or arcpy could do the job for you. –  Chris P Feb 25 '14 at 7:50
Unfortunately ggplot is not good at fill patterns (but see here for an alternative) –  cengel Feb 26 '14 at 17:41
QGis in version 2.0.1 offers automated map production as well –  Zbynek Feb 27 '14 at 8:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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