List of usage examples for org.jfree.chart.renderer.xy AbstractXYItemRenderer setBaseItemLabelGenerator
@Override public void setBaseItemLabelGenerator(XYItemLabelGenerator generator)
From source file:io.github.mzmine.modules.plots.msspectrum.MsSpectrumPlotWindowController.java
private void configureRenderer(MsSpectrumDataSet dataset, int datasetIndex) { final MsSpectrumType renderingType = dataset.getRenderingType(); final XYPlot plot = chartNode.getChart().getXYPlot(); // Set renderer AbstractXYItemRenderer newRenderer; switch (renderingType) { case PROFILE: case THRESHOLDED: XYLineAndShapeRenderer newLineRenderer = new XYLineAndShapeRenderer(); final int lineThickness = dataset.getLineThickness(); newLineRenderer.setBaseShape(new Ellipse2D.Double(-2 * lineThickness, -2 * lineThickness, 4 * lineThickness + 1, 4 * lineThickness + 1)); newLineRenderer.setBaseShapesFilled(true); newLineRenderer.setBaseShapesVisible(dataset.getShowDataPoints()); newLineRenderer.setDrawOutlines(false); Stroke baseStroke = new BasicStroke(lineThickness); newLineRenderer.setBaseStroke(baseStroke); newRenderer = newLineRenderer;/*from w w w . j a v a 2s . c o m*/ break; case CENTROIDED: default: XYBarRenderer newBarRenderer = new XYBarRenderer(); // Avoid gradients newBarRenderer.setBarPainter(new StandardXYBarPainter()); newBarRenderer.setShadowVisible(false); newRenderer = newBarRenderer; break; } // Set tooltips for legend newRenderer.setLegendItemToolTipGenerator((ds, series) -> { if (ds instanceof MsSpectrumDataSet) { return ((MsSpectrumDataSet) ds).getDescription(); } else return null; }); // Set color Color baseColor = dataset.getColor(); newRenderer.setBasePaint(JavaFXUtil.convertColorToAWT(baseColor)); // Set label generator XYItemLabelGenerator intelligentLabelGenerator = new IntelligentItemLabelGenerator(chartNode, 100, dataset); newRenderer.setBaseItemLabelGenerator(intelligentLabelGenerator); newRenderer.setBaseItemLabelPaint(JavaFXUtil.convertColorToAWT(labelsColor)); newRenderer.setBaseItemLabelsVisible(itemLabelsVisible.get()); // Set tooltip generator newRenderer.setBaseToolTipGenerator(dataset); plot.setRenderer(datasetIndex, newRenderer); }
From source file:com.appnativa.rare.ui.chart.jfreechart.ChartHandler.java
protected void customizeXYLineAndShapeRenderer(ChartDefinition cd, XYPlot plot, PlotInformation pi) { AbstractXYItemRenderer renderer = (AbstractXYItemRenderer) plot.getRenderer(); if (renderer instanceof XYLineAndShapeRenderer) { XYLineAndShapeRenderer xrenderer = (XYLineAndShapeRenderer) renderer; if (pi != null) { ShapeStyle fs = pi.getShapeStyle(); if (renderer instanceof XYAreaSplineRendererEx) { fs = pi.getShapeStyleEx(); }//from w w w . j a v a2 s . c o m switch (fs) { case FILLED: xrenderer.setBaseShapesVisible(true); xrenderer.setBaseShapesFilled(true); xrenderer.setUseFillPaint(true); break; case OUTLINED: xrenderer.setBaseShapesVisible(true); xrenderer.setDrawOutlines(true); xrenderer.setUseOutlinePaint(true); break; case FILLED_AND_OUTLINED: xrenderer.setBaseShapesVisible(true); xrenderer.setDrawOutlines(true); xrenderer.setBaseShapesFilled(true); xrenderer.setUseOutlinePaint(true); xrenderer.setUseFillPaint(true); break; default: xrenderer.setBaseShapesVisible(false); break; } } if (xrenderer.getBaseShapesVisible()) { xrenderer.setBaseShape(getDefaultShape(0)); } } StandardXYItemLabelGenerator lg = null; renderer.setBaseItemLabelsVisible(cd.isShowPlotLabels()); lg = new XYToolTipLabelGenerator(((ChartInfo) cd.getChartHandlerInfo()).seriesData); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); renderer.setBaseItemLabelGenerator(lg); rangeAxis.setUpperMargin(0.25); if (cd.isShowToolTips()) { renderer.setBaseToolTipGenerator((XYToolTipLabelGenerator) lg); } }