Number xValue = DatasetUtilities.findMinimumDomainValue(dataset); for (int seriesIndex = 0 ; seriesIndex < dataset.getSeriesCount() ; seriesIndex++){ for (int itemIndex = 0 ; itemIndex < dataset.getItemCount(seriesIndex) ; itemIndex ++){ Number yValue = dataset.getY(seriesIndex, itemIndex); if (yValue.equals(maximum)){ if (dataset.getX(seriesIndex, itemIndex).floatValue() > xValue.floatValue()) xValue = dataset.getX(seriesIndex, itemIndex); } } } ValueMarker maxX = new ValueMarker(xValue.floatValue()); maxX.setPaint(Color.red); maxX.setLabelTextAnchor(TextAnchor.CENTER_LEFT); plot.addDomainMarker(maxX,Layer.BACKGROUND);
Number maximum = DatasetUtilities.findMaximumRangeValue(dataset); ValueMarker max = new ValueMarker(maximum.floatValue()); max.setPaint(Color.orange); max.setLabel("Highest Value"); max.setLabelTextAnchor(TextAnchor.CENTER_LEFT); plot.addRangeMarker(max,Layer.BACKGROUND);
protected ValueMarker makeMarker( final int timePoint ) { final ValueMarker valueMarker = new ValueMarker( timePoint ); valueMarker.setStroke( new BasicStroke ( 1.5f ) ); valueMarker.setPaint( new Color( 0.0f, 93f/255f, 9f/255f ) ); valueMarker.setLabel( " Reference\n Timepoint " + timePoint ); valueMarker.setLabelAnchor(RectangleAnchor.BOTTOM ); valueMarker.setLabelTextAnchor( TextAnchor.BOTTOM_LEFT ); return valueMarker; }
/** * Generate a {@link ValueMarker}. */ private static ValueMarker addValueMarker( String text, double x, boolean domain ) { ValueMarker marker = new ValueMarker( x ); marker.setPaint( Color.GRAY ); marker.setLabel( text ); if ( domain ) { marker.setLabelAnchor( RectangleAnchor.TOP_LEFT ); marker.setLabelTextAnchor( TextAnchor.TOP_RIGHT ); } else { marker.setLabelAnchor( RectangleAnchor.TOP_RIGHT ); marker.setLabelTextAnchor( TextAnchor.BOTTOM_RIGHT ); } return marker; }
protected ValueMarker makeMarker( final double value ) { final ValueMarker valueMarker = new ValueMarker( value ); valueMarker.setStroke( new BasicStroke ( 2f ) ); valueMarker.setPaint( new Color( 0f/255f, 0f/255f, 255f/255f ) ); valueMarker.setLabel( " Distance=" + value ); valueMarker.setLabelPaint( Color.BLUE ); valueMarker.setLabelAnchor( RectangleAnchor.TOP ); valueMarker.setLabelTextAnchor( TextAnchor.TOP_LEFT ); return valueMarker; }
public static ChartHelper generateMultiLineChart(XYDataset dataset, String chartTitle, String yLabel, String xLabel, List domainMarkers) { boolean legend = true; boolean tooltips = true; boolean urls = true; JFreeChart chart = ChartFactory.createTimeSeriesChart(chartTitle, yLabel, xLabel, dataset, legend, tooltips, urls); XYPlot plot = chart.getXYPlot(); NumberAxis yAxis = (NumberAxis) plot.getRangeAxis(); TickUnitSource units = NumberAxis.createIntegerTickUnits(); yAxis.setStandardTickUnits(units); if (domainMarkers != null && !domainMarkers.isEmpty()) { for (Iterator iterator = domainMarkers.iterator(); iterator.hasNext();) { ValueMarker valueMarker = (ValueMarker) iterator.next(); valueMarker.setLabelAnchor(RectangleAnchor.TOP_LEFT); valueMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); plot.addDomainMarker(valueMarker); } } return new ChartHelper(chart); }
public void customize(JFreeChart chart, ChartComponent chartComponent) { //get the ploy CategoryPlot plot = (CategoryPlot) chart.getPlot(); //Now add your markers ValueMarker vm = new ValueMarker(200); //200 is the position you like it to be vm.setPaint(Color.RED); vm.setStroke(new BasicStroke(1)); vm.setLabel("BeanchMark value"); //The label vm.setLabelAnchor(RectangleAnchor.TOP); vm.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); plot.addRangeMarker(vm); }
public static ChartHelper generateTimeSeriesChart(XYDataset dataset, String chartTitle, String yLabel, String xLabel, List domainMarkers) { boolean legend = false; boolean tooltips = true; boolean urls = true; JFreeChart chart = ChartFactory.createTimeSeriesChart(null, yLabel, xLabel, dataset, legend, tooltips, urls); chart.setBackgroundPaint(Color.WHITE); chart.setBorderVisible(false); XYPlot plot = chart.getXYPlot(); NumberAxis yAxis = (NumberAxis) plot.getRangeAxis(); TickUnitSource units = NumberAxis.createIntegerTickUnits(); yAxis.setStandardTickUnits(units); if (domainMarkers != null && !domainMarkers.isEmpty()) { for (Iterator iterator = domainMarkers.iterator(); iterator.hasNext();) { ValueMarker valueMarker = (ValueMarker) iterator.next(); valueMarker.setLabelAnchor(RectangleAnchor.TOP_LEFT); valueMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); plot.addDomainMarker(valueMarker); } } XYDifferenceRenderer xyDifferenceRenderer = new XYDifferenceRenderer(COLOR_RED_PAINT, COLOR_GREEN_PAINT, true); xyDifferenceRenderer.setSeriesPaint(0, new Color(255, 0, 0)); xyDifferenceRenderer.setSeriesPaint(1, new Color(51, 204, 51)); xyDifferenceRenderer.setShape(new Ellipse2D.Double(-1.5, -1.5, 3.0, 3.0)); plot.setRenderer(xyDifferenceRenderer); return new ChartHelper(chart); }
public static ChartHelper generateMultiLineChart(XYDataset dataset, String chartTitle, String yLabel, String xLabel, List domainMarkers) { boolean legend = true; boolean tooltips = true; boolean urls = true; JFreeChart chart = ChartFactory.createTimeSeriesChart(chartTitle, yLabel, xLabel, dataset, legend, tooltips, urls); chart.setBackgroundPaint(Color.WHITE); chart.setBorderVisible(false); XYPlot plot = chart.getXYPlot(); NumberAxis yAxis = (NumberAxis) plot.getRangeAxis(); TickUnitSource units = NumberAxis.createIntegerTickUnits(); yAxis.setStandardTickUnits(units); if (domainMarkers != null && !domainMarkers.isEmpty()) { for (Iterator iterator = domainMarkers.iterator(); iterator.hasNext();) { ValueMarker valueMarker = (ValueMarker) iterator.next(); valueMarker.setLabelAnchor(RectangleAnchor.TOP_LEFT); valueMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); plot.addDomainMarker(valueMarker); } } XYItemRenderer plotRenderer = plot.getRenderer(); if (plotRenderer instanceof XYLineAndShapeRenderer) { XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plotRenderer; renderer.setBaseShapesVisible(true); renderer.setBaseShapesFilled(true); } return new ChartHelper(chart); }
newYearMarker.setLabel(String.valueOf(firstDayOfYear.getYear())); newYearMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT); newYearMarker.setLabelTextAnchor(TextAnchor.TOP_LEFT); newYearMarker.setLabelBackgroundColor(java.awt.Color.WHITE); plot.addDomainMarker(newYearMarker);
valueMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); plot.addDomainMarker(valueMarker); if (subPlot != null)