/** * Returns a tool tip generator that formats the x-values as dates and the * y-values as numbers. * * @return A tool tip generator (never {@code null}). */ public static StandardXYToolTipGenerator getTimeSeriesInstance() { return new StandardXYToolTipGenerator(DEFAULT_TOOL_TIP_FORMAT, DateFormat.getInstance(), NumberFormat.getInstance()); }
/** * Returns a tool tip generator that formats the x-values as dates and the * y-values as numbers. * * @return A tool tip generator (never <code>null</code>). */ public static StandardXYToolTipGenerator getTimeSeriesInstance() { return new StandardXYToolTipGenerator(DEFAULT_TOOL_TIP_FORMAT, DateFormat.getInstance(), NumberFormat.getInstance()); }
private DefaultXYItemRenderer creatItemRenderer(int index, int yDataType) { DefaultXYItemRenderer itemRenderer = new DefaultXYItemRenderer(); itemRenderer.setSeriesPaint(0, DEFAULT_PAINT_ARRAY[index % DEFAULT_PAINT_ARRAY.length]); itemRenderer.setSeriesShape(0, DEFAULT_SHAPE_ARRAY[index % DEFAULT_SHAPE_ARRAY.length]); itemRenderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); final DecimalFormat numberFormat = new DecimalFormat("0.00#"); numberFormat.setGroupingUsed(false); StandardXYToolTipGenerator toolTipGenerator; if (ProductData.TYPE_UTC == yDataType) { toolTipGenerator = new StandardXYToolTipGenerator(TOOL_TIP_FORMAT, numberFormat, SIMPLE_DATE_FORMAT); } else { toolTipGenerator = new StandardXYToolTipGenerator(TOOL_TIP_FORMAT, numberFormat, numberFormat); } itemRenderer.setSeriesToolTipGenerator(0, toolTipGenerator); StandardXYItemLabelGenerator itemLabelGenerator; if (ProductData.TYPE_UTC == yDataType) { itemLabelGenerator = new StandardXYItemLabelGenerator(ITEM_LABEL_FORMAT, numberFormat, SIMPLE_DATE_FORMAT); } else { itemLabelGenerator = new StandardXYItemLabelGenerator(ITEM_LABEL_FORMAT, numberFormat, numberFormat); } itemRenderer.setSeriesItemLabelGenerator(0, itemLabelGenerator); return itemRenderer; }
private XYErrorRenderer createXYErrorRenderer() { final XYErrorRenderer renderer = new XYErrorRenderer(); renderer.setDrawXError(false); renderer.setDrawYError(false); renderer.setBaseLinesVisible(true); renderer.setAutoPopulateSeriesStroke(false); renderer.setAutoPopulateSeriesPaint(false); renderer.setAutoPopulateSeriesFillPaint(false); renderer.setAutoPopulateSeriesOutlinePaint(false); renderer.setAutoPopulateSeriesOutlineStroke(false); renderer.setAutoPopulateSeriesShape(false); final StandardXYToolTipGenerator tipGenerator; tipGenerator = new StandardXYToolTipGenerator("Value: {2} Date: {1}", new SimpleDateFormat(), new DecimalFormat()); renderer.setBaseToolTipGenerator(tipGenerator); return renderer; }
/** * Initializes the upper plot. * * @return An instance of {@link XYPlot}. */ private XYPlot initializePlot() { jmxChart = new YIntervalSeriesImproved("jmx value"); YIntervalSeriesCollection yintervalseriescollection = new YIntervalSeriesCollection(); yintervalseriescollection.addSeries(jmxChart); DeviationRenderer renderer = new DeviationRenderer(true, false); renderer.setBaseShapesVisible(true); renderer.setSeriesStroke(0, new BasicStroke(3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); renderer.setSeriesFillPaint(0, new Color(255, 200, 200)); renderer.setSeriesOutlineStroke(0, new BasicStroke(2.0f)); renderer.setSeriesShape(0, new Ellipse2D.Double(-2.5, -2.5, 5.0, 5.0)); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, DateFormat.getDateTimeInstance(), NumberFormat.getNumberInstance())); NumberAxis rangeAxis = plotDataSolver.getAxis(); subplot = new XYPlot(yintervalseriescollection, null, rangeAxis, renderer); subplot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); subplot.setRangeAxisLocation(AxisLocation.TOP_OR_LEFT); subplot.setRangeCrosshairVisible(true); return subplot; }
/** * Initializes the upper plot. * * @return An instance of {@link XYPlot}. */ private XYPlot initializeUpperPlot() { cpuUsage = new YIntervalSeriesImproved("cpu usage"); YIntervalSeriesCollection yintervalseriescollection = new YIntervalSeriesCollection(); yintervalseriescollection.addSeries(cpuUsage); DeviationRenderer renderer = new DeviationRenderer(true, false); renderer.setBaseShapesVisible(true); renderer.setSeriesStroke(0, new BasicStroke(3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); renderer.setSeriesFillPaint(0, new Color(255, 200, 200)); renderer.setSeriesOutlineStroke(0, new BasicStroke(2.0f)); renderer.setSeriesShape(0, new Ellipse2D.Double(-2.5, -2.5, 5.0, 5.0)); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, DateFormat.getDateTimeInstance(), NumberFormat.getNumberInstance())); final NumberAxis rangeAxis = new NumberAxis("CPU usage of the VM"); rangeAxis.setRange(new Range(0, 100), true, false); rangeAxis.setAutoRangeMinimumSize(100.0d, false); rangeAxis.setTickUnit(new NumberTickUnit(10.0d, new DecimalFormat("0"))); rangeAxis.setRangeType(RangeType.POSITIVE); final XYPlot subplot = new XYPlot(yintervalseriescollection, null, rangeAxis, renderer); subplot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); subplot.setRangeAxisLocation(AxisLocation.TOP_OR_LEFT); subplot.setRangeCrosshairVisible(true); return subplot; }
/** * Initializes the lower plot with the given input data. * * @return An instance of {@link XYPlot}. */ private XYPlot initializeLowerPlot() { daemonThreads = new YIntervalSeriesImproved("daemon"); YIntervalSeriesCollection yIntervalSeriesCollection = new YIntervalSeriesCollection(); yIntervalSeriesCollection.addSeries(daemonThreads); DeviationRenderer renderer = new DeviationRenderer(true, false); renderer.setBaseShapesVisible(true); renderer.setSeriesStroke(0, new BasicStroke(3.0f)); renderer.setSeriesOutlineStroke(0, new BasicStroke(2.0f)); renderer.setSeriesShape(0, new Ellipse2D.Double(-2.5, -2.5, 5.0, 5.0)); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, DateFormat.getDateTimeInstance(), NumberFormat.getNumberInstance())); final NumberAxis rangeAxis = new NumberAxis("Daemon threads"); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); rangeAxis.setAutoRangeMinimumSize(10.0d, false); rangeAxis.setRangeType(RangeType.POSITIVE); final XYPlot subplot = new XYPlot(yIntervalSeriesCollection, null, rangeAxis, renderer); subplot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); subplot.setRangeAxisLocation(AxisLocation.TOP_OR_LEFT); subplot.setRangeCrosshairVisible(true); return subplot; }
/** * Utility method to set the default style of the XY Step Area Charts * * @param chart {@link JFreeChart} to style */ private static void setXYStepAreaChartDefaults(JFreeChart chart) { ChartUtil.setDefaults(chart); XYPlot plot = (XYPlot) chart.getPlot(); plot.setDomainGridlinesVisible(false); // renderer XYStepAreaRenderer renderer = (XYStepAreaRenderer) plot.getRenderer(); renderer.setBaseItemLabelFont(ChartDefaults.defaultFont); renderer.setBaseItemLabelPaint(ChartDefaults.axisLabelColor); renderer.setShapesVisible(false); renderer.setBaseStroke(ChartDefaults.defaultStroke); for (int j = 0; j < ChartDefaults.darkColors.length; j++) { renderer.setSeriesStroke(j, ChartDefaults.defaultStroke); renderer.setSeriesPaint(j, ChartDefaults.darkColors[j]); } StandardXYToolTipGenerator generator = new StandardXYToolTipGenerator("{1}, {2}", NumberFormat.getInstance(), NumberFormat.getInstance()); renderer.setBaseToolTipGenerator(generator); }
/** * Initializes the upper plot with the given input data. * * @return An instance of {@link XYPlot} */ private XYPlot initializeUpperPlot() { liveThreads = new YIntervalSeriesImproved("live"); peakThreads = new YIntervalSeriesImproved("peak"); YIntervalSeriesCollection yIntervalSeriesCollection = new YIntervalSeriesCollection(); yIntervalSeriesCollection.addSeries(liveThreads); yIntervalSeriesCollection.addSeries(peakThreads); DeviationRenderer renderer = new DeviationRenderer(true, false); renderer.setBaseShapesVisible(true); renderer.setSeriesStroke(0, new BasicStroke(3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); renderer.setSeriesFillPaint(0, new Color(255, 200, 200)); renderer.setSeriesOutlineStroke(0, new BasicStroke(2.0f)); renderer.setSeriesShape(0, new Ellipse2D.Double(-2.5, -2.5, 5.0, 5.0)); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, DateFormat.getDateTimeInstance(), NumberFormat.getNumberInstance())); final NumberAxis rangeAxis = new NumberAxis("Threads"); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); rangeAxis.setAutoRangeMinimumSize(10.0d, false); rangeAxis.setRangeType(RangeType.POSITIVE); final XYPlot subplot = new XYPlot(yIntervalSeriesCollection, null, rangeAxis, renderer); subplot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); subplot.setRangeAxisLocation(AxisLocation.TOP_OR_LEFT); subplot.setRangeCrosshairVisible(true); return subplot; }
/** * Initializes the upper plot. * * @return An instance of {@link XYPlot}. */ private XYPlot initializeUpperPlot() { loadedClasses = new YIntervalSeriesImproved("loaded classes"); totalLoadedClasses = new YIntervalSeriesImproved("total loaded classes"); YIntervalSeriesCollection yintervalseriescollection = new YIntervalSeriesCollection(); yintervalseriescollection.addSeries(loadedClasses); yintervalseriescollection.addSeries(totalLoadedClasses); DeviationRenderer renderer = new DeviationRenderer(true, false); renderer.setBaseShapesVisible(true); renderer.setSeriesStroke(0, new BasicStroke(3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); renderer.setSeriesFillPaint(0, new Color(255, 200, 200)); renderer.setSeriesOutlineStroke(0, new BasicStroke(2.0f)); renderer.setSeriesShape(0, new Ellipse2D.Double(-2.5, -2.5, 5.0, 5.0)); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, DateFormat.getDateTimeInstance(), NumberFormat.getNumberInstance())); final NumberAxis rangeAxis = new NumberAxis("Classes"); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); rangeAxis.setAutoRangeMinimumSize(2000.0d); rangeAxis.setRangeType(RangeType.POSITIVE); rangeAxis.setAutoRangeIncludesZero(true); final XYPlot subplot = new XYPlot(yintervalseriescollection, null, rangeAxis, renderer); subplot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); subplot.setRangeAxisLocation(AxisLocation.TOP_OR_LEFT); subplot.setRangeCrosshairVisible(true); return subplot; }
new StandardXYToolTipGenerator( chartDefinition.getTooltipContent(), new SimpleDateFormat( chartDefinition .getTooltipXFormat() ), new DecimalFormat( chartDefinition.getTooltipYFormat() ) ); renderer.setToolTipGenerator( generator );
/** * Utility method to set the default style of the XY Bar Charts * * @param chart {@link JFreeChart} to style */ private static void setXYBarChartDefaults(JFreeChart chart) { ChartUtil.setDefaults(chart); XYPlot plot = (XYPlot) chart.getPlot(); plot.setAxisOffset(new RectangleInsets(1.0, 1.0, 1.0, 1.0)); // renderer XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer(); renderer.setBaseItemLabelFont(ChartDefaults.defaultFont); renderer.setBaseItemLabelsVisible(false); renderer.setBasePositiveItemLabelPosition( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER)); renderer.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator()); renderer.setBaseItemLabelPaint(ChartDefaults.axisLabelColor); StandardXYToolTipGenerator generator = new StandardXYToolTipGenerator("{1}, {2}", NumberFormat.getInstance(), NumberFormat.getInstance()); renderer.setBaseToolTipGenerator(generator); renderer.setDrawBarOutline(false); for (int j = 0; j < ChartDefaults.darkColors.length; j++) { renderer.setSeriesPaint(j, ChartDefaults.darkColors[j]); } }
xyLineAndShapeRenderer.setSeriesToolTipGenerator(seriesCount, new StandardXYToolTipGenerator()); if (!showSeriesShape)
public JFreeChart createStackedBarChart(String title, XYDataset dataset) { DateAxis domainAxis = new DateAxis("Date"); domainAxis.setTickMarkPosition(DateTickMarkPosition.MIDDLE); domainAxis.setLowerMargin(0.01); domainAxis.setUpperMargin(0.01); NumberAxis rangeAxis = new NumberAxis("Hours"); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); rangeAxis.setUpperMargin(0.10); // leave some space for item labels StackedXYBarRenderer renderer = new StackedXYBarRenderer(0.15); // StackedXYAreaRenderer2 renderer = new StackedXYAreaRenderer2(); renderer.setDrawBarOutline(false); renderer.setBaseItemLabelsVisible(true); renderer.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator()); renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER)); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator("{0} : {1} = {2}", new SimpleDateFormat("yyyy"), new DecimalFormat("0"))); XYPlot plot = new XYPlot(dataset, domainAxis, rangeAxis, renderer); JFreeChart chart = new JFreeChart(title, plot); chart.removeLegend(); chart.setTextAntiAlias(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT); LegendTitle legend = new LegendTitle(plot); legend.setBackgroundPaint(Color.white); legend.setFrame(new BlockBorder()); legend.setPosition(RectangleEdge.BOTTOM); chart.addSubtitle(legend); return chart; }
renderer.setDefaultToolTipGenerator(new StandardXYToolTipGenerator());
plot.setOrientation(orientation); if (tooltips) { renderer.setDefaultToolTipGenerator(new StandardXYToolTipGenerator());
public static JFreeChart createScatterPlot(String title, String xAxisLabel, String yAxisLabel, XYDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) { if(orientation == null) { throw new IllegalArgumentException("Null \'orientation\' argument."); } else { NumberAxis xAxis = new NumberAxis(xAxisLabel); xAxis.setAutoRangeIncludesZero(false); NumberAxis yAxis = new NumberAxis(yAxisLabel); yAxis.setAutoRangeIncludesZero(false); XYItemRenderer render=new StandardXYItemRenderer(); render.setBaseItemLabelsVisible(false); XYPlot plot = new XYPlot(dataset, xAxis, yAxis, render); StandardXYToolTipGenerator toolTipGenerator = null; if(tooltips) { toolTipGenerator = new StandardXYToolTipGenerator(); } StandardXYURLGenerator urlGenerator = null; if(urls) { urlGenerator = new StandardXYURLGenerator(); } XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(false, true); renderer.setSeriesItemLabelFont(0,FontUtil.getFont(Font.PLAIN,14)); renderer.setBaseItemLabelsVisible(false); renderer.setBaseToolTipGenerator(toolTipGenerator); renderer.setURLGenerator(urlGenerator); plot.setRenderer(renderer); plot.setOrientation(orientation); JFreeChart chart = new JFreeChart(title, FontUtil.getFont(Font.PLAIN,18), plot, legend); return chart; } }
renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
new StandardXYToolTipGenerator("{1}, {2}", DateFormat.getInstance(), NumberFormat.getInstance()); renderer.setBaseToolTipGenerator(generator); renderer.setDrawBarOutline(false);