h = getWidth();
h = this.getWidth();
      public void paintComponent(Graphics gx) {	super.paintComponent(gx);	int xp, yp, h;	h = getWidth();	if (m_plotInstances != null) {	  if (m_oldWidth != h) {	    m_pointDrawn = new boolean[h][20];	    for (int noa = 0; noa < m_plotInstances.numInstances(); noa++) {	      if (!m_plotInstances.instance(noa).isMissing(m_attribIndex)		  && !m_plotInstances.instance(noa).isMissing(m_cIndex)) {		m_cached[noa] = (int)convertToPanel(m_plotInstances.						  instance(noa).						  value(m_attribIndex));				if (m_pointDrawn[m_cached[noa] % h][m_heights[noa]]) {		  m_cached[noa] = -9000;		}		else {		  m_pointDrawn[m_cached[noa]%h][m_heights[noa]] = true;		}			      }	      else {		m_cached[noa] = -9000; //this value will not happen 		//so it is safe	      }	    }	    m_oldWidth = h;	  }	  	  if (m_plotInstances.attribute(m_cIndex).isNominal() 	      || m_colourUsingPreds) {	    for (int noa = 0; noa < m_plotInstances.numInstances(); noa++) {	      	      if (m_cached[noa] != -9000) {		xp = m_cached[noa];		yp = m_heights[noa];		if (m_plotInstances.attribute(m_attribIndex).		    isNominal()) {		  xp += (int)(Math.random() * 5) - 2;		}		int ci = (!m_colourUsingPreds)		  ? (int)m_plotInstances.instance(noa).value(m_cIndex)		  : (int)m_preds[noa];		gx.setColor((Color)m_colorList.elementAt			    (ci % m_colorList.size()));		gx.drawRect(xp, yp, 1, 1);	      }	    }	  }	  else {	    double r;	    for (int noa = 0; noa < m_plotInstances.numInstances(); noa++) {	      if (m_cached[noa] != -9000) {		  				r = (m_plotInstances.instance(noa).value(m_cIndex) 		     - m_minC) / (m_maxC - m_minC);		r = (r * 240) + 15;		gx.setColor(new Color((int)r,150,(int)(255-r)));				xp = m_cached[noa];		yp = m_heights[noa];		if (m_plotInstances.attribute(m_attribIndex).		    isNominal()) {		  xp += (int)(Math.random() * 5) - 2;		}		gx.drawRect(xp, yp, 1, 1);	      }	    }	  }	}       }