private void drawScoredText (Graphics2D g, Pair<String, Double> textScore, double offsetFromCenter, int minX, int maxX, int minY, int maxY, int rowHeight, int barHeight, int padding, ColorRamp ramp, double scale) { int centerX = (minX + maxX) / 2; int centerY = (minY + maxY) / 2; int baseline = (int) Math.round(centerY + offsetFromCenter * rowHeight - padding); int barBaseline = baseline - (rowHeight - 2*padding - barHeight)/2; // For bar purposes, value should be between -1 and 1 double value = textScore.getSecond()/scale; // For color purposes, value should be between 0 and 1 double colorValue = (value+1.0)/2.0; int barWidth = (int)Math.round((maxX-centerX)*0.8*value); String text = textScore.getFirst(); FontMetrics metrics = g.getFontMetrics(); int textBaseline = baseline; g.setColor(new Color(ramp.getRGB(colorValue))); if (barWidth > 0) { g.fillRect(centerX+padding, barBaseline, barWidth, barHeight); } else { g.fillRect(centerX+barWidth-padding, barBaseline, -barWidth, barHeight); } g.setColor(new Color(255, 255, 128, 192)); if (barWidth < 0) { g.drawString(text, centerX+padding, textBaseline); } else { int textWidth = metrics.stringWidth(text); g.drawString(text, centerX-padding-textWidth, textBaseline); } }
if ( mode.contains("cull" ) ) { if ( transformedValue >= valueMin && transformedValue <= valueMax ) { rgb = colorRamp.getRGBA((transformedValue - valueMin) * oneOverScaledRange, alpha); } else { rgb = COLOR_BLANK.getRGB(); rgb = colorRamp.getRGBA((transformedValue - valueMin) * oneOverScaledRange, alpha);
if ( mode.equals( "cull" ) ) { if ( transformedValue >= valueMin && transformedValue <= valueMax ) { rgb = colorRamp.getRGB( ( transformedValue - valueMin ) * oneOverScaledRange ); } else { rgb = COLOR_BLANK.getRGB(); rgb = colorRamp.getRGB( ( transformedValue - valueMin ) * oneOverScaledRange ); if ( mode.equals( "cull" ) ) { if ( transformedValue >= valueMin && transformedValue <= valueMax ) { rgb = colorRamp.getRGB( ( transformedValue - valueMin ) * oneOverScaledRange ); } else { rgb = COLOR_BLANK.getRGB(); rgb = colorRamp.getRGB( ( transformedValue - valueMin ) * oneOverScaledRange );
for (int i = 0; i < width; i++){ double v = ((double)(i+1)/(double)width) * levelMax; int colorInt = colorRamp.getRGB(t.transform(v)); g.setColor(new Color(colorInt, true)); g.drawLine(i, 0, i, height); for(int i = 0; i <= height; i++){ double v = ((double)(i+1)/(double)height) * levelMax; int colorInt = colorRamp.getRGB(t.transform(v)); g.setColor(new Color(colorInt, true)); int y = height-i;