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 _______________________________________________ grassuser mailing list grassuser@grass.itc.it http://grass.itc.it/mailman/listinfo/grassuser