Found a solution and thought I should share it if anyone else is trying to do the same thing. I just created variables to calculate the number of data points for each possible series at chart generation time and grabbed them with JRAbstractChartCustomizer. I then colored the series if they were present. Code: Integer det = (Integer) this.getVariableValue("det_count"«»); Integer pass = (Integer) this.getVariableValue("pass_count"«»); Integer prom = (Integer) this.getVariableValue("prom_count"«»); int series_index = 0; if(prom.intValue() != 0) { renderer.setSeriesPaint(series_index, new Color(94, 171, 94));//green series_index++; } if(pass.intValue() != 0) { renderer.setSeriesPaint(series_index, new Color(255, 210, 64));//yellow series_index++; } if(det.intValue() != 0) { renderer.setSeriesPaint(series_index, new Color(255, 66, 66));//red series_index++; }