Example usage for org.jfree.chart.plot IntervalMarker setLabelPaint

List of usage examples for org.jfree.chart.plot IntervalMarker setLabelPaint

Introduction

In this page you can find the example usage for org.jfree.chart.plot IntervalMarker setLabelPaint.

Prototype

public void setLabelPaint(Paint paint) 

Source Link

Document

Sets the label paint and sends a MarkerChangeEvent to all registered listeners.

Usage

From source file:org.jfree.chart.demo.MarkerDemo2.java

private static JFreeChart createChart(XYDataset xydataset) {
    JFreeChart jfreechart = ChartFactory.createXYLineChart("Marker Demo 2", "X", "Temperature", xydataset,
            PlotOrientation.VERTICAL, false, true, false);
    XYPlot xyplot = (XYPlot) jfreechart.getPlot();
    xyplot.setDomainGridlinePaint(Color.lightGray);
    xyplot.setDomainGridlineStroke(new BasicStroke(1.0F));
    xyplot.setRangeGridlinePaint(Color.lightGray);
    xyplot.setRangeGridlineStroke(new BasicStroke(1.0F));
    xyplot.setRangeTickBandPaint(new Color(240, 240, 240));
    PeriodAxis periodaxis = new PeriodAxis(null, new Hour(0, 30, 6, 2005), new Hour(23, 30, 6, 2005));
    PeriodAxisLabelInfo aperiodaxislabelinfo[] = new PeriodAxisLabelInfo[2];
    aperiodaxislabelinfo[0] = new PeriodAxisLabelInfo(org.jfree.data.time.Hour.class,
            new SimpleDateFormat("HH"));
    aperiodaxislabelinfo[1] = new PeriodAxisLabelInfo(org.jfree.data.time.Day.class,
            new SimpleDateFormat("dd-MMM"));
    periodaxis.setLabelInfo(aperiodaxislabelinfo);
    xyplot.setDomainAxis(periodaxis);//from w w  w.  j ava 2 s  .co  m
    ValueAxis valueaxis = xyplot.getRangeAxis();
    valueaxis.setRange(0.0D, 100D);
    XYItemRenderer xyitemrenderer = xyplot.getRenderer();
    xyitemrenderer.setSeriesPaint(0, Color.green);
    xyitemrenderer.setSeriesStroke(0, new BasicStroke(2.0F));
    ValueMarker valuemarker = new ValueMarker(80D);
    valuemarker.setLabelOffsetType(LengthAdjustmentType.EXPAND);
    valuemarker.setPaint(Color.red);
    valuemarker.setStroke(new BasicStroke(2.0F));
    valuemarker.setLabel("Temperature Threshold");
    valuemarker.setLabelFont(new Font("SansSerif", 0, 11));
    valuemarker.setLabelPaint(Color.red);
    valuemarker.setLabelAnchor(RectangleAnchor.TOP_LEFT);
    valuemarker.setLabelTextAnchor(TextAnchor.BOTTOM_LEFT);
    xyplot.addRangeMarker(valuemarker);
    Hour hour = new Hour(18, 30, 6, 2005);
    Hour hour1 = new Hour(20, 30, 6, 2005);
    double d = hour.getFirstMillisecond();
    double d1 = hour1.getFirstMillisecond();
    IntervalMarker intervalmarker = new IntervalMarker(d, d1);
    intervalmarker.setLabelOffsetType(LengthAdjustmentType.EXPAND);
    intervalmarker.setPaint(new Color(150, 150, 255));
    intervalmarker.setLabel("Automatic Cooling");
    intervalmarker.setLabelFont(new Font("SansSerif", 0, 11));
    intervalmarker.setLabelPaint(Color.blue);
    intervalmarker.setLabelAnchor(RectangleAnchor.TOP_LEFT);
    intervalmarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT);
    xyplot.addDomainMarker(intervalmarker, Layer.BACKGROUND);
    ValueMarker valuemarker1 = new ValueMarker(d, Color.blue, new BasicStroke(2.0F));
    ValueMarker valuemarker2 = new ValueMarker(d1, Color.blue, new BasicStroke(2.0F));
    xyplot.addDomainMarker(valuemarker1, Layer.BACKGROUND);
    xyplot.addDomainMarker(valuemarker2, Layer.BACKGROUND);
    return jfreechart;
}

From source file:com.sciaps.utils.Util.java

public static IntervalMarker createMarker(double min, double max, String element) {
    IntervalMarker marker = new IntervalMarker(min, max);
    marker.setPaint(Color.green);

    DecimalFormat df = new DecimalFormat("#0.000");
    String label = df.format(min);

    if (element != null) {
        label = element + ":" + label;
    }//from w ww . ja  va  2s .co  m
    marker.setLabel(label);
    marker.setLabelPaint(Color.blue);
    marker.setLabelFont(new java.awt.Font("Tahoma", 1, 8));
    marker.setLabelOffset(new RectangleInsets(50, 10, 10, 20));

    return marker;
}

From source file:daylightchart.daylightchart.chart.DaylightChart.java

private void createDSTMarker(final XYPlot plot) {
    if (!riseSetData.usesDaylightTime()) {
        return;/*w  w  w . jav a  2s .co  m*/
    }

    final long intervalStart = riseSetData.getDstStartDate().atStartOfDay().atZone(ZoneId.systemDefault())
            .toInstant().toEpochMilli();
    final long intervalEnd = riseSetData.getDstEndDate().atStartOfDay().atZone(ZoneId.systemDefault())
            .toInstant().toEpochMilli();
    final IntervalMarker dstMarker = new IntervalMarker(intervalStart, intervalEnd,
            ChartConfiguration.nightColor, new BasicStroke(0.0f), null, null, 0.4f);
    dstMarker.setLabelPaint(Color.WHITE);
    dstMarker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT);
    dstMarker.setLabelTextAnchor(TextAnchor.BASELINE_RIGHT);
    //
    plot.addDomainMarker(dstMarker, Layer.BACKGROUND);
}

From source file:com.mgmtp.perfload.perfalyzer.reportpreparation.PlotCreator.java

public JFreeChart createPlot(final AxisType xAxisType, final AxisType yAxisType,
        final RendererType rendererType, final DisplayData displayData, final DataRange dataRange,
        boolean showMarkers, final NumberDataSet... dataSets) {

    NumberAxis xAxis = createAxis(xAxisType, resourceBundle.getString(displayData.getUnitX()));

    XYPlot plot;/*from w w w  .  j a v  a 2 s. c  o m*/
    if (dataSets.length == 1) {
        NumberAxis yAxis = createAxis(yAxisType, resourceBundle.getString(displayData.getUnitY()));
        plot = new XYPlot(dataSets[0], xAxis, yAxis, rendererType.createRenderer());
    } else {
        CombinedDomainXYPlot combinedPlot = new CombinedDomainXYPlot(xAxis);
        for (int i = 0; i < dataSets.length; ++i) {
            NumberDataSet dataSet = dataSets[i];
            // no range for y-axis!
            NumberAxis yAxis = createAxis(yAxisType,
                    resourceBundle.getString(displayData.getUnitYList().get(i)));
            XYPlot subPlot = new XYPlot(dataSet, null, yAxis, rendererType.createRenderer());
            combinedPlot.add(subPlot);
            formatPlot(subPlot);
        }
        plot = combinedPlot;
    }

    JFreeChart chart = new JFreeChart(plot);
    CHART_THEME.apply(chart);

    formatPlot(plot);

    if (showMarkers) {
        for (Marker marker : markers) {
            IntervalMarker im = new IntervalMarker(marker.getLeftMillis() / 1000L,
                    marker.getRightMillis() / 1000L);
            im.setLabel(marker.getName());
            im.setLabelFont(new Font("Sans Serif", Font.ITALIC | Font.BOLD, 14));
            im.setLabelAnchor(RectangleAnchor.TOP);
            im.setLabelOffset(new RectangleInsets(8d, 0d, 0d, 0d));
            im.setLabelPaint(Color.BLACK);
            im.setAlpha(.2f);
            im.setPaint(Color.WHITE);
            im.setOutlinePaint(Color.BLACK);
            im.setOutlineStroke(new BasicStroke(1.0f));
            plot.addDomainMarker(im, Layer.BACKGROUND);
        }
    }

    LegendTitle legend = chart.getLegend();
    legend.setBackgroundPaint(new Color(229, 229, 229));
    legend.setFrame(
            new LineBorder(new Color(213, 213, 213), new BasicStroke(1.0f), legend.getFrame().getInsets()));

    // only for non-logarithmic axes
    // range must be set after plot is created, otherwise nothing is drawn
    if (dataRange != null && !xAxisType.equals(AxisType.LOGARITHMIC)) {
        xAxis.setRange(dataRange.getLowerSeconds(), dataRange.getUpperSeconds());
    }

    return chart;
}

From source file:grafix.graficos.eixos.Eixo.java

protected IntervalMarker gerarIntervalMarker(final MarcaGrafica m, JanelaGraficos janela) {
    try {/*from  w ww .j ava  2  s . co m*/
        IntervalMarker im = new IntervalMarker(m.getInicioNoGrafico(janela).getFirstMillisecond(),
                m.getFimNoGrafico(janela).getFirstMillisecond());
        im.setLabelOffsetType(LengthAdjustmentType.EXPAND);
        im.setPaint(m.getCor());
        im.setStroke(new BasicStroke(1.4f));
        if (!m.getFim().equals(m.getInicio())) {
            im.setAlpha(.2f);
            im.setLabelFont(new Font("SansSerif", Font.BOLD, 11));
        } else {
            im.setAlpha(.9f);
            im.setLabelFont(new Font("SansSerif", Font.PLAIN, 11));
        }
        im.setLabel(m.getTag());
        im.setLabelPaint(m.getCor());
        im.setLabelAnchor(RectangleAnchor.TOP_LEFT);
        im.setLabelTextAnchor(TextAnchor.TOP_RIGHT);
        return im;
    } catch (Exception e) {
        return null;
    }
}

From source file:com.mgmtp.perfload.loadprofiles.ui.AppFrame.java

private void updateGraph() {
    XYSeriesCollection dataset = new XYSeriesCollection();
    Collection<Stairs> loadProfileEnities = transform(
            filter(loadProfilesController.getTreeItems(), new IsStairsPredicate()),
            new LoadProfileEntityToStairsFunction());
    GraphPointsCalculator calc = new GraphPointsCalculator();
    Map<String, Set<Point>> pointsMap = calc.calculatePoints(loadProfileEnities);

    for (Entry<String, Set<Point>> entry : pointsMap.entrySet()) {
        final XYSeries series = new XYSeries(entry.getKey());
        for (Point point : entry.getValue()) {
            series.add(point.getX(), point.getY());
        }//from w  w  w.j a v  a  2 s. c  o m
        dataset.addSeries(series);
    }

    String name = txtName.getText();
    chart = ChartFactory.createXYLineChart(name, "t (min)", "Executions (1/h)", dataset,
            PlotOrientation.VERTICAL, true, true, false);

    XYPlot plot = chart.getXYPlot();

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    plot.setRenderer(renderer);

    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
    domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    double maxX = 0;

    for (OneTime oneTime : getOneTimes()) {
        String key = oneTime.operation.getName();
        XYSeries series;
        try {
            // We need the series in order to retrieve paint and stroke
            series = dataset.getSeries(key);
        } catch (UnknownKeyException ex) {
            series = new XYSeries(key);
            dataset.addSeries(series);
        }

        int index = dataset.getSeriesIndex(key);
        BasicStroke stroke = (BasicStroke) renderer.lookupSeriesStroke(index);
        stroke = new BasicStroke(stroke.getLineWidth() + 1f, stroke.getEndCap(), stroke.getLineJoin(),
                stroke.getMiterLimit(), stroke.getDashArray(), stroke.getDashPhase());
        Color paint = (Color) renderer.lookupSeriesPaint(index);
        paint = new Color(paint.getRed(), paint.getGreen(), paint.getBlue(), 160);

        double height = rangeAxis.getUpperBound() * .05; // five percent of range
        double width = domainAxis.getUpperBound() * .01; // one percent of range
        double center = oneTime.t0;
        double left = center - width / 2;
        double right = center + width / 2;

        // We only add annotations for one times, but nothing to the series
        plot.addAnnotation(new XYPolygonAnnotation(new double[] { left, 0d, center, height, right, 0d }, stroke,
                paint, paint));

        maxX = max(maxX, right);
    }

    for (Marker marker : getMarkers()) {
        IntervalMarker im = new IntervalMarker(marker.left, marker.right);
        im.setLabel(marker.name);
        im.setLabelFont(new Font(getFont().getName(), getFont().getStyle(), getFont().getSize() + 1));
        im.setLabelAnchor(RectangleAnchor.TOP);
        im.setLabelOffset(new RectangleInsets(8d, 0d, 0d, 0d));
        im.setLabelPaint(Color.BLACK);
        im.setAlpha(.3f);
        im.setPaint(Color.WHITE);
        im.setOutlinePaint(Color.BLACK);
        im.setOutlineStroke(new BasicStroke(1.0f));
        plot.addDomainMarker(im, Layer.BACKGROUND);

        maxX = max(maxX, marker.right);
    }

    if (domainAxis.getUpperBound() < maxX) {
        domainAxis.setUpperBound(maxX * 1.05);
    }
    chartPanel.setChart(chart);
}

From source file:com.naryx.tagfusion.cfm.tag.awt.cfCHART.java

public void addRangeMarker(CategoryPlot plot, cfCHARTRANGEMARKERData rmData) throws cfmRunTimeException {
    IntervalMarker rangeMarker = new IntervalMarker(rmData.getStart(), rmData.getEnd());
    rangeMarker.setPaint(convertStringToColor(rmData.getColor()));
    if (rmData.getLabel() != null) {
        rangeMarker.setLabel(rmData.getLabel());
        rangeMarker.setLabelPaint(convertStringToColor(rmData.getLabelColor()));
        String labelPos = rmData.getLabelPosition();
        if (labelPos.equals("top_left")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.TOP_LEFT);
            rangeMarker.setLabelTextAnchor(TextAnchor.TOP_LEFT);
        } else if (labelPos.equals("top")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.TOP);
            rangeMarker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
        } else if (labelPos.equals("top_right")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
            rangeMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT);
        } else if (labelPos.equals("left")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.LEFT);
            rangeMarker.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
        } else if (labelPos.equals("center")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.CENTER);
            rangeMarker.setLabelTextAnchor(TextAnchor.CENTER);
        } else if (labelPos.equals("right")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.RIGHT);
            rangeMarker.setLabelTextAnchor(TextAnchor.CENTER_RIGHT);
        } else if (labelPos.equals("bottom_left")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.BOTTOM_LEFT);
            rangeMarker.setLabelTextAnchor(TextAnchor.BOTTOM_LEFT);
        } else if (labelPos.equals("bottom")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.BOTTOM);
            rangeMarker.setLabelTextAnchor(TextAnchor.BOTTOM_CENTER);
        } else if (labelPos.equals("bottom_right")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT);
            rangeMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
        }//from  ww w  .jav  a  2s  .c  o  m
        rangeMarker.setLabelOffsetType(LengthAdjustmentType.NO_CHANGE);
        rangeMarker.setLabelFont(
                getFont(rmData.getFont(), rmData.getFontBold(), rmData.getFontItalic(), rmData.getFontSize()));
    }
    plot.addRangeMarker(rangeMarker, Layer.BACKGROUND);
}

From source file:com.naryx.tagfusion.cfm.tag.awt.cfCHART.java

public void addRangeMarker(XYPlot plot, cfCHARTRANGEMARKERData rmData) throws cfmRunTimeException {
    IntervalMarker rangeMarker = new IntervalMarker(rmData.getStart(), rmData.getEnd());
    rangeMarker.setPaint(convertStringToColor(rmData.getColor()));
    if (rmData.getLabel() != null) {
        rangeMarker.setLabel(rmData.getLabel());
        rangeMarker.setLabelPaint(convertStringToColor(rmData.getLabelColor()));
        String labelPos = rmData.getLabelPosition();
        if (labelPos.equals("top_left")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.TOP_LEFT);
            rangeMarker.setLabelTextAnchor(TextAnchor.TOP_LEFT);
        } else if (labelPos.equals("top")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.TOP);
            rangeMarker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
        } else if (labelPos.equals("top_right")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
            rangeMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT);
        } else if (labelPos.equals("left")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.LEFT);
            rangeMarker.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
        } else if (labelPos.equals("center")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.CENTER);
            rangeMarker.setLabelTextAnchor(TextAnchor.CENTER);
        } else if (labelPos.equals("right")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.RIGHT);
            rangeMarker.setLabelTextAnchor(TextAnchor.CENTER_RIGHT);
        } else if (labelPos.equals("bottom_left")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.BOTTOM_LEFT);
            rangeMarker.setLabelTextAnchor(TextAnchor.BOTTOM_LEFT);
        } else if (labelPos.equals("bottom")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.BOTTOM);
            rangeMarker.setLabelTextAnchor(TextAnchor.BOTTOM_CENTER);
        } else if (labelPos.equals("bottom_right")) {
            rangeMarker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT);
            rangeMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
        }/*from www. ja v  a2  s. co m*/
        rangeMarker.setLabelOffsetType(LengthAdjustmentType.NO_CHANGE);
        rangeMarker.setLabelFont(
                getFont(rmData.getFont(), rmData.getFontBold(), rmData.getFontItalic(), rmData.getFontSize()));
    }
    plot.addRangeMarker(rangeMarker, org.jfree.ui.Layer.BACKGROUND);
}