[GRASS-user] Need for a custom color map

Michael Barton michael.barton at asu.edu
Sun Oct 21 19:03:40 EDT 2007


Hamish,

This is a really nice page. Thanks for sharing it.

Michael


On 10/20/07 9:31 PM, "Hamish" <hamish_nospam at yahoo.com> wrote:

> Thomas Adams wrote:
>> I'm wondering if someone has a color map that has white in the middle
>> range and blue at one extreme and red at the other. I'm creating a
>> precipitation difference map for data quality control purposes and I'm
>> trying to identify areas of over- and under-estimation by radar
>> estimates relative to gauge-only estimates. Such a scale would be
>> helpful to those looking for differences.
> 
> Glynn wrote:
>> The "differences" map (i.e. "r.colors ... color=differences") is:
>> 0% blue
>> 0 white
>> 100% red
>> 
>> This may be suitable, depending upon what you mean by "white in the
>> middle". The above has white at zero, which isn't necessarily the
>> middle. If you want white at the midpoint between the minimum and
>> maximum values, use:
>> 0% blue
>> 50% white
>> 100% red
>> 
>> If you want the table to be symmetrical, you'll need to specify
>> absolute values rather than percentages, e.g.:
>> -10 blue
>> 0 white
>> 10 red
> 
> 
> Doing a symmetrical absolute value color maps interests me, so I wrote a
> script to do it automatically based on r.univar results. It's called
> r.colors.stddev and it is now u on the wiki addons page. Read all about it &
> screenshots here:
>   http://hamish.bowman.googlepages.com/grass_color_maps
> 
> I am not a statistician, so take my approach with a grain of salt and
> improvements are welcome. -- The book "How to lie with statistics" could
> easily have a second edition "How to lie with the human eye and color rules".
> 
> 
> One problem that came up, the r.univar percentile= option only takes integer
> values. You can pass it a FP number but it just chops off everything after the
> decimal point. (I wanted the percentile values for 68.2689%, 95.4500%,
> 99.7300% of area under the curve, right now r.univar casts those to int so
> results are not exactly right) I have patched it locally (int->double,
> %d->%lf,%g), but it causes a few little problems:
> 
> 1) cosmetic: there are rules for the 1st 2nd 3rd 4-9,0th percentile text.
> It would need to be updated to use the least significant digit from %g.
> Also that has i18n concerns...
> 
> 2) the percentile shell script output would get a "." in it, which is invalid
> for an environment variable $name. It could be replaced with an underscore,
> ....?
> 
> 3) It gives an answer, but is it an appropriate/meaningful thing to calculate?
> (tiny doubt lingers)
> 
> 
> enjoy,
> Hamish
> 
> 

__________________________________________
Michael Barton, Professor of Anthropology
Director of Graduate Studies
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton





More information about the grass-user mailing list