[GRASS-dev] [GRASS GIS] #3055: Revise monochromatic color tables

GRASS GIS trac at osgeo.org
Sat Jun 4 20:09:56 PDT 2016


#3055: Revise monochromatic color tables
-------------------------------------------------+-------------------------
 Reporter:  wenzeslaus                           |      Owner:  grass-dev@…
     Type:  defect                               |     Status:  new
 Priority:  normal                               |  Milestone:  7.2.0
Component:  Display                              |    Version:  unspecified
 Keywords:  r.colors, d.rast, blues, greens,     |        CPU:  Unspecified
  oranges, reds, sepia, water                    |
 Platform:  Unspecified                          |
-------------------------------------------------+-------------------------
 The monochromatic color tables namely `blues`, `greens`, `oranges` and
 `reds` added in r64283 start with white. It is probably obvious that it is
 good that there is no black but I think that they also should not contain
 white.

 Using r.mapcalc, r.colors, and r.colors.matplotlib (`g.extension
 r.colors.matplotlib`), you can try how the Matplotlib `Blues`, `Greens`,
 `Oranges` and `Reds` look like.

 {{{
 color=blues
 map=m_$color
 g.region cols=500 rows=300 n=-300 s=-600 w=0 e=500
 r.mapcalc "$map = col() / 10 + 2 * cos(col() * 100)"
 r.colors map=$map color=$color
 }}}

 {{{
 color=Blues
 map=m2_$color
 g.region cols=500 rows=300 n=-600 s=-900 w=0 e=500
 r.mapcalc "$map = col() / 10 + 2 * cos(col() * 100)"
 r.colors.matplotlib map=$map color=$color
 }}}

 Also Moritz mentioned off-list that ''a quick look at Color Brewer shows
 that they use values such as:''

 {{{
 255:255:229 for greens
 255:247:236 for reds
 }}}

 You can notice that besides different start color Matplotlib uses also
 different end color. Our color versions end e.g. with 0:0:255 (called
 `blue` in GRASS) which is an arbitrary color based on its special position
 in the RGB model not on its optical or aesthetic features. For the
 technical part, the `greens` and `blues` does not show the waves on the
 right and in comparison with the Matplotlib versions it seems to me that
 even `reds` and `oranges` show less waves on the right.

 I'm not sure how many color steps are needed for the Matplotlib colors. I
 used 6 but perhaps just 2 (start and end) are enough.

 The `sepia` color table from r33163 actually starts with white, `0:0:0`,
 and ends with (almost) black, `255:254:251`, (or the other way around when
 you don't use `-n`), so that's not good I think. I'm usually not able to
 use it because of the black color. The gray scale image and the waves are
 good (these two look like good indicators, see #3043). So, I would just
 remove the  stretch the current colors unless there is some good sepia
 color table source.

 The `sepia` color table from r68464 (from r.lake) doesn't show a big
 gradient in gray scale (which might be good thing sometimes, but not now).
 However, there is some and I don't know how to change it while preserving
 other features especially the look which I think is really good here.

 Note that changing these would be more serious change in behavior because
 your result is changed even if you explicitly specify what you want (which
 is not the case for change of default in #3043 where you just trust the
 default which is changed for your good).

 Note also that a monochromatic color tables are candidacies for new
 default color table (#3043).

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3055>
GRASS GIS <https://grass.osgeo.org>



More information about the grass-dev mailing list