protected void drawRect(Graphics2D g2, double x1, double y1, double x2, double y2) { if (traceDistribution != null && traceDistribution.getTraceType() != TraceFactory.TraceType.DOUBLE) { super.drawRect(g2, x1 - (x2 - x1), y1, x2, y2); } else { super.drawRect(g2, x1, y1, x2, y2); } }
/** Paint data series */ protected void paintData(Graphics2D g2, Variate.N xData, Variate.N yData) { double x1, y1, x2, y2; double lower = 0.0, upper = 0.0; int n = xData.getCount(); if (hasQuantiles) { lower = raw.getQuantile(quantiles); upper = raw.getQuantile(1.0 - quantiles); } else if (hasIntervals) { lower = lowerInterval; upper = upperInterval; } g2.setStroke(lineStroke); for (int i = 0; i < n; i += 2) { x1 = (Double) xData.get(i); y1 = (Double) yData.get(i); x2 = (Double) xData.get(i + 1); y2 = (Double) yData.get(i + 1); if (y1 != y2) { if (barPaint != null) { if (hasQuantiles || hasIntervals) { if (x1 < lower) { if (x2 <= lower) { g2.setPaint(quantilePaint); fillRect(g2, x1, y1, x2, y2); } else { g2.setPaint(quantilePaint); fillRect(g2, x1, y1, lower, y2); g2.setPaint(barPaint); fillRect(g2, lower, y1, x2, y2); } } else if (x2 > upper) { if (x1 >= upper) { g2.setPaint(quantilePaint); fillRect(g2, x1, y1, x2, y2); } else { g2.setPaint(barPaint); fillRect(g2, x1, y1, upper, y2); g2.setPaint(quantilePaint); fillRect(g2, upper, y1, x2, y2); } } else { g2.setPaint(barPaint); fillRect(g2, x1, y1, x2, y2); } } else if (hasIncredibleSet) { if (traceDistribution.inCredibleSetContains((int) x1) || traceDistribution.inCredibleSetContains((int) x2)) { g2.setPaint(quantilePaint); } else { g2.setPaint(barPaint); } fillRect(g2, x1, y1, x2, y2); } else { g2.setPaint(barPaint); fillRect(g2, x1, y1, x2, y2); } } if (lineStroke != null && linePaint != null) { g2.setStroke(lineStroke); g2.setPaint(linePaint); drawRect(g2, x1, y1, x2, y2); } } } }