if (min == max) { m_maxY += 0.05; m_minY -= 0.05; }
    private void determineBounds() {      double value,min,max;            if (m_plotInstances != null) {	// x bounds	min=Double.POSITIVE_INFINITY;	max=Double.NEGATIVE_INFINITY;	if (m_plotInstances.attribute(m_xIndex).isNominal()) {	  m_minX = 0;	  m_maxX = m_plotInstances.attribute(m_xIndex).numValues()-1;	} else {	  for (int i=0;i<m_plotInstances.numInstances();i++) {	    if (!m_plotInstances.instance(i).isMissing(m_xIndex)) {	      value = m_plotInstances.instance(i).value(m_xIndex);	      if (value < min) {		min = value;	      }	      if (value > max) {		max = value;	      }	    }	  }	  m_minX = min; m_maxX = max;	}	// y bounds	min=Double.POSITIVE_INFINITY;	max=Double.NEGATIVE_INFINITY;	if (m_plotInstances.attribute(m_yIndex).isNominal()) {	  m_minY = 0;	  m_maxY = m_plotInstances.attribute(m_yIndex).numValues()-1;	} else {	  for (int i=0;i<m_plotInstances.numInstances();i++) {	    if (!m_plotInstances.instance(i).isMissing(m_yIndex)) {	      value = m_plotInstances.instance(i).value(m_yIndex);	      if (value < min) {		min = value;	      }	      if (value > max) {		max = value;	      }	    }	  }	  m_minY = min; m_maxY = max;	}      	// colour bounds	min=Double.POSITIVE_INFINITY;	max=Double.NEGATIVE_INFINITY;	if (!m_colourUsingPreds) {	  for (int i=0;i<m_plotInstances.numInstances();i++) {	    if (!m_plotInstances.instance(i).isMissing(m_cIndex)) {	      value = m_plotInstances.instance(i).value(m_cIndex);	      if (value < min) {		min = value;	      }	      if (value > max) {		max = value;	      }	    }	  }	}	m_minC = min; m_maxC = max;	if (m_pointLookup != null) {	  fillLookup();	  setJitter(m_JitterVal);	  repaint();	}      }    }