code: public void savePNGKMNumRisk(String fileName) {
  		if (fileName.startsWith("null") || fileName.startsWith("Null") || fileName.startsWith("NULL")) {
  			return;
  		}
  		this.fileName = fileName;
  
  		NumbersAtRiskPanel numbersAtRiskPanel = new NumbersAtRiskPanel();
  		numbersAtRiskPanel.setKaplanMeierFigure(this);
  		numbersAtRiskPanel.setSize(this.getWidth(), numbersAtRiskPanel.getHeight());
  		BufferedImage imageKM = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB);
  		Graphics2D graphics2D = imageKM.createGraphics();
  
  		this.paint(graphics2D);
  
  		BufferedImage imageNumRisk = new BufferedImage(numbersAtRiskPanel.getWidth(), numbersAtRiskPanel.getHeight(), BufferedImage.TYPE_INT_RGB);
  		Graphics2D graphics2DNumRisk = imageNumRisk.createGraphics();
  		numbersAtRiskPanel.paint(graphics2DNumRisk);
  
  
  		BufferedImage image = new BufferedImage(numbersAtRiskPanel.getWidth(), numbersAtRiskPanel.getHeight() + this.getHeight(), BufferedImage.TYPE_INT_RGB);
  		Graphics2D g = image.createGraphics();
  
  		g.drawImage(imageKM, 0, 0, null);
  		g.drawImage(imageNumRisk, 0, this.getHeight(), null);
  
  		try {
  			ImageIO.write(image, "png", new File(fileName));
  		} catch (Exception ex) {
  			ex.printStackTrace();
  		}
  
  	}
docs: Combine the KM and Num risk into one image
  
  @param fileName