I calculated/made NDVI with landsat data using ERDAS. Results of NDVI is in black and white map but I need it in colour to present the scale for NDVI with value of pixels in Map Composition. How to make the NDVI map in colour in ERDAS?

I made the coloured map of NDVI in QGIS but in Map Composition I can not put the legend of the map with value of pixels. Is there any way to put the legend with values of pixels in QGIS?

Thanks a lot in advance.

NDVI I made enter image description here

  • I'm having trouble picturing what you are trying to achieve. Could you paste an image/sketch?
    – underdark
    Commented Apr 4, 2012 at 14:39
  • Related question: gis.stackexchange.com/questions/19297/…
    – underdark
    Commented Apr 4, 2012 at 14:57
  • Hmm, the last bit (The legend is saved as a PNG file, which you can then add as an image in the print composer) doesn't work for me. The image is blank. Thank you anyway. Trying to solve it.
    – Sasha
    Commented Apr 4, 2012 at 15:12
  • Which QGIS version are you using?
    – underdark
    Commented Apr 4, 2012 at 17:15
  • I use QGIS 1.6.0-Capiapo
    – Sasha
    Commented Apr 5, 2012 at 2:55

3 Answers 3


It has been mentioned in the related question (http://gis.stackexchange.com/questions/19297/how-to-add-raster-legends-in-qgis-map-composer) that QGIS got raster legend support in print composer after version 1.7.

You can install the current developer version from OSGeo4W if you are on Windows.

You'll will have to add the text with highest and lowest raster value manually but that is easy to change in the legend options within print composer.

  • Thank you! I managed it in the version I have and then print screen function. It looks ok. The installation process of new version looks too scary for me, I don't understand all these packages I am required to choose.
    – Sasha
    Commented Apr 5, 2012 at 8:13
  • 1
    You just have to select qgis-dev. The installer chooses all necessary packages automatically. But glad you got it working.
    – underdark
    Commented Apr 5, 2012 at 9:22

I carry out a similar workflow, with the NDVI calculations on Landsat data done in GRASS.

The colour is set in the program which you make the map in, i.e. the data coming out of GRASS or ERDAS is just -1 thru to +1 values in a grid in the raster.

I use the QGIS plugin Raster Colours which has two components. The 1-Band Raster Colour Table v1.0 creates the legend. The second tool Colour Scale Bar uses the data from the first to make an image file which you then display as the legend in the Map Composer.

You may have issues with the range of values which the first tool works from. I found the best work around for this is to delete all the redundant values from the new colour table, then run the Scale Bar tool, in this way you can get a legend image which runs from 0.2 - 0.8 which for my work is the most relevant NDVI values.

Note these are customised colour tables and cannot be edited outside of QGIS. Once you create a colour table you like, don't lose it!

Use the help for the plugin. You may have to google back to the authors own website to get the full story.

Note this other post - 1-band raster colour table workaround in QGIS


You might want to look at how you're exporting / saving it and then the related symbology. I'm not familiar with QGIS but I've had similar troubles with Arc when rasters get converted to 8 bit unsigned (or other) through geoprocessing.

  • Thank you. Yes in ArcMap it is possible to save and relate symbology and this attached coloured picture I made using ArcMap ages ago. Now I use QGIS.
    – Sasha
    Commented Apr 5, 2012 at 3:02
  • May I ask why you moved to QGIS Sasha? Commented Apr 6, 2012 at 7:16
  • I do not have a license for Arc and because of this I learned about QGIS and OpenSource which is very useful.
    – Sasha
    Commented Apr 6, 2012 at 10:03

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.