 					//skip if position not different different from last plotted point
 					if(!selections.isSelected(point) && _prevPos[ds.dataURI]
 							&& Math.abs(_prevPos[ds.dataURI].x - dPt.x) < pointOverlapTolerance 
-							&& Math.abs(_prevPos[ds.dataURI].y - dPt.y) < pointOverlapTolerance){
+							&& Math.abs(_prevPos[ds.dataURI].y - dPt.y) < pointOverlapTolerance
+							&& !(point.value > AirQualityColors.POLLUTANT_INDEX[ds.pollutant][2])){ 
+							// could add a && _prevVal[ds.dataURI] == point.value here as additional check to see if previous value is sufficiently different
+							// for now we deal with the "making spikes obvious" problem by just showing anything that looks red or worse.
 						continue;
 					}
 					

		        else {
		            plotBitmapData.fillRect(new Rectangle(0,0,plotBitmapData.width,plotBitmapData.height),0x00000000);
		        }
		        _prevPos = {};	
			}
	        
			//prep the renderer we'll use to draw points
			var renderer:PointRenderer = new PointRenderer(plotBitmapData,pointDiameter,pointOverlapTolerance);
			
			plotBitmapData.lock();
			

		
		protected var _prevMaxPtNums:Object = {}; 	//last point number drawn by the last append pass (indexed by dataURI)
		protected var _prevPos:Object = {} 			//position of the last point drawn (indexed by dataURI)
		protected var _prevVal:Object = {}			//value of the last point drawn (indexed by dataURI)
		
		protected function get map():Map{ return _map;}
		
		public var pointOverlapTolerance:Number = 11;
		//public var pointValueTolerance:Number; // This might be needed to deal with seeing-spikes problem
		public var zoomTolerance:Number = 5; 
		public var pointDiameter:Number = 15;
		public var numMouseOverAdjacents:uint = 15;
