I want to create a heatmap that doesn't show raster cells that have the value 0. I have 5 classes of which the 0 values have no colour (transparent). Now values between 0 and the first value (124.66...) seem to be shown semi-transparent in the map which looks "cloudy".

How can I create a sharp border between values that are 0 and values that are not 0?

In ArcGIS Desktop you can set the break values for each class but it seems in QGIS you just set one value and the colours are interpolated inbetween?

I want 0 to be 100% transparent and everything else 100% non-transparent.

enter image description here

After adding 0 as no data value and changing the interpolation mode to discrete:

enter image description here

1 Answer 1


I would do two things. First, under Layer Properties -> Transparency, add 0 as a 'No data value.' Second, change the 'Color Interpolation' setting to "Discrete."

  • I added a screenshot of the result after changing what you suggested, it's not really working for me Aug 25, 2016 at 8:06
  • So the holes seem to be the result of the maxium values in the raster cells are exceeding those in the symbology, which I don't understand, the values should be exactly the same? Aug 25, 2016 at 8:13
  • 1
    Maybe setting min/max values to "min/max" and not "cumulative count cut" will help? Or at least setting the upper limit to 100%?
    – SAnderka
    Aug 25, 2016 at 10:49
  • I think that SAnderka is correct. To investigate, you can use the 'Identify Features' tool to see what the raster value is in one of the missing areas.
    – tirefire
    Aug 25, 2016 at 13:48

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.