Index: trunk/BNC/src/rinex/polarplot.cpp
===================================================================
--- trunk/BNC/src/rinex/polarplot.cpp	(revision 4326)
+++ trunk/BNC/src/rinex/polarplot.cpp	(revision 4327)
@@ -20,6 +20,19 @@
 #include <qwt_symbol.h>
 #include <qwt_polar_grid.h>
+#include <qwt_color_map.h>
 
 #include "polarplot.h"
+
+class t_colorMap: public QwtLinearColorMap {
+ public:
+  t_colorMap() : QwtLinearColorMap(Qt::darkBlue, Qt::yellow) {
+    addColorStop(0.05, Qt::blue);
+    addColorStop(0.30, Qt::cyan);
+    addColorStop(0.60, Qt::green);
+    addColorStop(0.98, Qt::red);
+  }
+};
+
+t_colorMap colorMap;
 
 // Draw Symbols (virtual) - change symbol's color
@@ -33,12 +46,7 @@
     const t_polarData*  polarData = reinterpret_cast<const t_polarData*>(data());
     const t_polarPoint& point     = polarData->sample(ii);
-    if (point._value == 1) {
-      ss.setBrush(QBrush(Qt::red));
-      ss.setPen(QPen(Qt::red));
-    }
-    else {
-      ss.setBrush(QBrush(Qt::blue));
-      ss.setPen(QPen(Qt::blue));
-    }
+    const QColor color = colorMap.color(QwtInterval(0.0, 1.0), point._value);
+    ss.setBrush(QBrush(color));
+    ss.setPen(QPen(color));
     QwtPolarCurve::drawSymbols(painter, ss, azimuthMap, radialMap, pole, ii,ii);
   }
@@ -57,8 +65,5 @@
   const double rr    = zenithInterval.minValue() + ii * stepR;
 
-  double value = 0.0;
-  if (ii % 3 == 0) {
-    value = 1.0;
-  }
+  double value = static_cast<double>(ii) / _size;
 
   return t_polarPoint(aa, rr, value); 
