private void calculateMinMax()
	{
		double maxX = 0, maxY = 0, minX = 0, minY = 0;
        boolean initMinMax = true;
        for (Entry<String, DataPoints> e: this.m_PointsSet.entrySet())
        {
        	DataPoints dp = e.getValue();
        	if (initMinMax)
        	{
        		maxX = dp.getMaxX();
        		maxY = dp.getMaxY();
        		minX = dp.getMinX();
        		minY = dp.getMinY();
        		initMinMax = false;
        	} else
        	{
	        	if (dp.getMaxX()>maxX) maxX = dp.getMaxX();
	        	if (dp.getMaxY()>maxY) maxY = dp.getMaxY();
	        	if (dp.getMinX()<minX) minX = dp.getMinX();
	        	if (dp.getMinY()<minY) minY = dp.getMinY();
        	}
        }
        
        // scale ratio to fit the points inside render area
        if (!this.m_FitX) minX = 0;
        if (!this.m_FitY) minY = 0;
        
        // store it for this renderer
        this.m_MaxX = maxX;
        this.m_MaxY = maxY;
        this.m_MinX = minX;
        this.m_MinY = minY;
	}