List of usage examples for org.jfree.chart.renderer.xy StandardXYItemRenderer SHAPES_AND_LINES
int SHAPES_AND_LINES
To view the source code for org.jfree.chart.renderer.xy StandardXYItemRenderer SHAPES_AND_LINES.
Click Source Link
From source file:org.jfree.chart.demo.Second.java
/** * Starting point for the demo.//from w w w. j a v a 2s . com * * @param args ignored. */ public static void main(final String[] args) { // create some data... final XYSeries series1 = new XYSeries("Advisory Range"); series1.add(new Integer(1200), new Integer(1)); series1.add(new Integer(1500), new Integer(1)); final XYSeries series2 = new XYSeries("Normal Range"); series2.add(new Integer(2000), new Integer(4)); series2.add(new Integer(2300), new Integer(4)); final XYSeries series3 = new XYSeries("Recommended"); series3.add(new Integer(2100), new Integer(2)); final XYSeries series4 = new XYSeries("Current"); series4.add(new Integer(2400), new Integer(3)); final XYSeriesCollection data = new XYSeriesCollection(); data.addSeries(series1); data.addSeries(series2); data.addSeries(series3); data.addSeries(series4); // create a chart... final JFreeChart chart = ChartFactory.createXYLineChart("My Chart", "Calories", "Y", data, PlotOrientation.VERTICAL, true, true, false); // **************************************************************************** // * JFREECHART DEVELOPER GUIDE * // * The JFreeChart Developer Guide, written by David Gilbert, is available * // * to purchase from Object Refinery Limited: * // * * // * http://www.object-refinery.com/jfreechart/guide.html * // * * // * Sales are used to provide funding for the JFreeChart project - please * // * support us so that we can continue developing free software. * // **************************************************************************** final XYItemRenderer renderer = new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES, null); final XYPlot plot = (XYPlot) chart.getPlot(); plot.setRenderer(renderer); final ValueAxis axis = plot.getRangeAxis(); axis.setTickLabelsVisible(false); axis.setRange(0.0, 5.0); // create and display a frame... final ChartFrame frame = new ChartFrame("Test", chart); frame.pack(); frame.setVisible(true); }
From source file:JchartTest.GetChartAction.java
@Override public String execute() throws Exception { ValueAxis xAxis = new NumberAxis("Input Increase"); ValueAxis yAxis = new NumberAxis("Production"); XYSeries xySeries = new XYSeries(new Integer(1)); xySeries.add(0, 200);/*www . j a va 2s .co m*/ xySeries.add(1, 300); xySeries.add(2, 500); xySeries.add(3, 700); xySeries.add(4, 700); xySeries.add(5, 900); XYSeriesCollection xyDataset = new XYSeriesCollection(xySeries); // create XYPlot XYPlot xyPlot = new XYPlot(xyDataset, xAxis, yAxis, new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES)); chart = new JFreeChart(xyPlot); return SUCCESS; }
From source file:de.laures.cewolf.taglib.PlotTypes.java
/** * Create a renderer for the given type index. * We create a new renderer instance for each chart, because they may want to customize * it in a post-processor.//w w w.j av a 2s. c om * * @param idx The index of the type * @return A new renderer instance */ public static AbstractRenderer getRenderer(int idx) { switch (idx) { case 0: return new XYAreaRenderer(); case 1: return new StandardXYItemRenderer(); case 2: return new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES); case 3: return new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES); case 4: return new XYBarRenderer(); case 5: return new XYStepRenderer(); case 6: return new CandlestickRenderer(); case 7: return new HighLowRenderer(); //case 8: return new SignalRenderer(); case 9: return new BarRenderer(); case 10: return new AreaRenderer(); case 11: return new LineAndShapeRenderer(true, false); case 12: return new LineAndShapeRenderer(true, true); default: throw new RuntimeException("Invalid renderer index:" + idx); } }
From source file:org.apache.phoenix.pherf.result.impl.ImageResultHandler.java
@Override public synchronized void write(Result result) throws Exception { TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection(); int rowCount = 0; int maxLegendCount = 20; int chartDimension = 1100; ResultValue<DataModelResult> resultValue = result.getResultValues().get(0); DataModelResult dataModelResult = resultValue.getResultValue(); for (ScenarioResult scenarioResult : dataModelResult.getScenarioResult()) { for (QuerySetResult querySetResult : scenarioResult.getQuerySetResult()) { for (QueryResult queryResult : querySetResult.getQueryResults()) { for (ThreadTime tt : queryResult.getThreadTimes()) { TimeSeries timeSeries = new TimeSeries( queryResult.getStatement() + " :: " + tt.getThreadName()); rowCount++;// www .j av a 2 s. c o m synchronized (tt.getRunTimesInMs()) { for (RunTime rt : tt.getRunTimesInMs()) { if (rt.getStartTime() != null) { timeSeries.add(new Millisecond(rt.getStartTime()), rt.getElapsedDurationInMs()); } } } timeSeriesCollection.addSeries(timeSeries); } } } } boolean legend = rowCount > maxLegendCount ? false : true; JFreeChart chart = ChartFactory.createTimeSeriesChart(dataModelResult.getName(), "Time", "Query Time (ms)", timeSeriesCollection, legend, true, false); StandardXYItemRenderer renderer = new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES); chart.getXYPlot().setRenderer(renderer); chart.getXYPlot().setBackgroundPaint(Color.WHITE); chart.getXYPlot().setRangeGridlinePaint(Color.BLACK); for (int i = 0; i < rowCount; i++) { chart.getXYPlot().getRenderer().setSeriesStroke(i, new BasicStroke(3f)); } try { ChartUtilities.saveChartAsJPEG(new File(resultFileName), chart, chartDimension, chartDimension); } catch (IOException e) { e.printStackTrace(); } }
From source file:com.att.aro.ui.view.diagnostictab.CreateBarPlot.java
public XYPlot drawStandardXYPlot(Shape shape, Color color, int minSignal, int maxSignal) { // Set up renderer StandardXYItemRenderer batteryRenderer = new StandardXYItemRenderer( StandardXYItemRenderer.SHAPES_AND_LINES); batteryRenderer.setAutoPopulateSeriesShape(false); batteryRenderer.setBaseShape(shape); batteryRenderer.setSeriesPaint(0, color); // Normalize the throughput axis so that it represents max value NumberAxis axis = new NumberAxis(); axis.setVisible(false);//w w w . j av a2 s .co m axis.setAutoRange(false); axis.setRange(minSignal, maxSignal); // Create plot XYPlot barPlot = new XYPlot(null, null, axis, batteryRenderer); barPlot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); barPlot.getRangeAxis().setVisible(false); return barPlot; }
From source file:org.jfree.chart.demo.TimePeriodValuesDemo.java
/** * A demonstration application showing how to.... * * @param title the frame title./*from w ww .j a va 2s . c om*/ */ public TimePeriodValuesDemo(final String title) { super(title); final XYDataset data1 = createDataset1(); final XYItemRenderer renderer1 = new XYBarRenderer(); final DateAxis domainAxis = new DateAxis("Date"); domainAxis.setVerticalTickLabels(true); domainAxis.setTickUnit(new DateTickUnit(DateTickUnit.HOUR, 1)); domainAxis.setDateFormatOverride(new SimpleDateFormat("hh:mm")); domainAxis.setLowerMargin(0.01); domainAxis.setUpperMargin(0.01); final ValueAxis rangeAxis = new NumberAxis("Value"); final XYPlot plot = new XYPlot(data1, domainAxis, rangeAxis, renderer1); final XYDataset data2 = createDataset2(); final StandardXYItemRenderer renderer2 = new StandardXYItemRenderer( StandardXYItemRenderer.SHAPES_AND_LINES); renderer2.setShapesFilled(true); plot.setDataset(1, data2); plot.setRenderer(1, renderer2); final JFreeChart chart = new JFreeChart("Supply and Demand", plot); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(500, 270)); chartPanel.setMouseZoomable(true, false); setContentPane(chartPanel); }
From source file:edu.mit.fss.examples.member.gui.PowerSubsystemPanel.java
/** * Instantiates a new power subsystem panel for a subsystem. * * @param subsystem the subsystem//from ww w .ja va 2 s . c om */ public PowerSubsystemPanel(SpacePowerSubsystem subsystem) { this.subsystem = subsystem; logger.trace("Creating and adding energy storage chart panel."); storageDataset = new TimeSeriesCollection(); storageSeries = new TimeSeries("Storage"); storageDataset.addSeries(storageSeries); storageChart = ChartFactory.createTimeSeriesChart(null, "Time", "Stored Energy (W-hr)", storageDataset, false, false, false); storageChart.setBackgroundPaint(getBackground()); if (storageChart.getPlot() instanceof XYPlot) { XYPlot xyPlot = (XYPlot) storageChart.getPlot(); XYItemRenderer renderer = new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES); renderer.setSeriesShape(0, new Ellipse2D.Double(-2, -2, 4, 4)); xyPlot.setRenderer(renderer); xyPlot.setBackgroundPaint(Color.WHITE); xyPlot.setDomainGridlinePaint(Color.GRAY); xyPlot.setRangeGridlinePaint(Color.GRAY); } addTab("Storing", new ChartPanel(storageChart)); logger.trace("Creating and adding energy transformation chart panel."); powerDataset = new TimeSeriesCollection(); generationSeries = new TimeSeries("Generation"); powerDataset.addSeries(generationSeries); consumptionSeries = new TimeSeries("Consumption"); powerDataset.addSeries(consumptionSeries); powerChart = ChartFactory.createTimeSeriesChart(null, "Time", "Power (W)", powerDataset, true, false, false); powerChart.setBackgroundPaint(getBackground()); if (powerChart.getPlot() instanceof XYPlot) { XYPlot xyPlot = (XYPlot) powerChart.getPlot(); XYItemRenderer renderer = new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES); renderer.setSeriesShape(0, new Ellipse2D.Double(-2, -2, 4, 4)); renderer.setSeriesPaint(0, Color.red); renderer.setSeriesShape(1, new Ellipse2D.Double(-2, -2, 4, 4)); renderer.setSeriesPaint(1, Color.green); xyPlot.setRenderer(renderer); xyPlot.setBackgroundPaint(Color.WHITE); xyPlot.setDomainGridlinePaint(Color.GRAY); xyPlot.setRangeGridlinePaint(Color.GRAY); } JPanel chartPanel = new JPanel(new BorderLayout()); chartPanel.add(new ChartPanel(powerChart), BorderLayout.CENTER); chartPanel.add(new JButton(exportAction), BorderLayout.SOUTH); addTab("Transforming", chartPanel); }
From source file:org.optaplanner.benchmark.impl.statistic.stepscore.StepScoreProblemStatistic.java
@Override public void writeGraphFiles(BenchmarkReport benchmarkReport) { List<XYPlot> plotList = new ArrayList<XYPlot>(BenchmarkReport.CHARTED_SCORE_LEVEL_SIZE); int seriesIndex = 0; for (SingleBenchmarkResult singleBenchmarkResult : problemBenchmarkResult.getSingleBenchmarkResultList()) { List<XYSeries> seriesList = new ArrayList<XYSeries>(BenchmarkReport.CHARTED_SCORE_LEVEL_SIZE); // No direct ascending lines between 2 points, but a stepping line instead XYItemRenderer renderer = new XYStepRenderer(); if (singleBenchmarkResult.isSuccess()) { StepScoreSingleStatistic singleStatistic = (StepScoreSingleStatistic) singleBenchmarkResult .getSingleStatistic(problemStatisticType); for (StepScoreStatisticPoint point : singleStatistic.getPointList()) { long timeMillisSpent = point.getTimeMillisSpent(); double[] levelValues = ScoreUtils.extractLevelDoubles(point.getScore()); for (int i = 0; i < levelValues.length && i < BenchmarkReport.CHARTED_SCORE_LEVEL_SIZE; i++) { if (i >= seriesList.size()) { seriesList.add(new XYSeries( singleBenchmarkResult.getSolverBenchmarkResult().getNameWithFavoriteSuffix())); }/*from w ww .ja va2 s. co m*/ seriesList.get(i).add(timeMillisSpent, levelValues[i]); } } if (singleStatistic.getPointList().size() <= 1) { // Workaround for https://sourceforge.net/tracker/?func=detail&aid=3387330&group_id=15494&atid=115494 renderer = new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES); } } if (singleBenchmarkResult.getSolverBenchmarkResult().isFavorite()) { // Make the favorite more obvious renderer.setSeriesStroke(0, new BasicStroke(2.0f)); } for (int i = 0; i < seriesList.size(); i++) { if (i >= plotList.size()) { plotList.add(createPlot(benchmarkReport, i)); } plotList.get(i).setDataset(seriesIndex, new XYSeriesCollection(seriesList.get(i))); plotList.get(i).setRenderer(seriesIndex, renderer); } seriesIndex++; } graphFileList = new ArrayList<File>(plotList.size()); for (int scoreLevelIndex = 0; scoreLevelIndex < plotList.size(); scoreLevelIndex++) { JFreeChart chart = new JFreeChart( problemBenchmarkResult.getName() + " step score level " + scoreLevelIndex + " statistic", JFreeChart.DEFAULT_TITLE_FONT, plotList.get(scoreLevelIndex), true); graphFileList.add(writeChartToImageFile(chart, problemBenchmarkResult.getName() + "StepScoreStatisticLevel" + scoreLevelIndex)); } }
From source file:genj.chart.Chart.java
/** * Constructor for a chart with x/y series of data shown on a 2d pane * as one plot per series. Note: The difference between this and * the first constructor is that of indexed series (where all x-values * are shared indexes) and arbitrary series. * @param title the title of the chart/*from ww w . ja v a2s .c om*/ * @param labelAxisX a label for the x-axis * @param labelAxisY a label for the y-axis * @param series one or more x/y series to show * @param format a number format to use for x-values * @param shapes whether to show little shape indicators for each x/y pair additionally to the plot */ public Chart(String title, String labelAxisX, String labelAxisY, XYSeries[] series, NumberFormat format, boolean shapes) { // prepare chart setup NumberAxis xAxis = new NumberAxis(labelAxisX); xAxis.setAutoRangeIncludesZero(false); NumberAxis yAxis = new NumberAxis(labelAxisY); yAxis.setNumberFormatOverride(format); XYItemRenderer renderer = new StandardXYItemRenderer( shapes ? StandardXYItemRenderer.SHAPES_AND_LINES : StandardXYItemRenderer.LINES); XYPlot plot = new XYPlot(XYSeries.toXYDataset(series), xAxis, yAxis, renderer); // init init(title, plot, true); // done }
From source file:edu.mit.fss.examples.member.gui.CommSubsystemPanel.java
/** * Instantiates a new communications subsystem panel for a subsystem. * Signals are sent via the associated {@link federate}. * * @param federate the federate//from w ww . j ava2 s.co m * @param subsystem the subsystem */ public CommSubsystemPanel(Federate federate, CommSubsystem subsystem) { this.subsystem = subsystem; logger.trace("Creating and adding receiver panel."); receiverPanel = new ReceiverPanel(subsystem.getReceiver()); logger.trace("Adding receiver panel as an object listener."); listenerList.add(ObjectChangeListener.class, receiverPanel); addTab("Receiver", receiverPanel); logger.trace("Creating and adding transmitter panel."); transmitterPanel = new TransmitterPanel(federate, subsystem.getTransmitter()); logger.trace("Adding transmitter panel as an object listener."); listenerList.add(ObjectChangeListener.class, transmitterPanel); addTab("Transmitter", transmitterPanel); logger.trace("Creating and adding connectivity chart panel."); connectivityChart = ChartFactory.createTimeSeriesChart(null, "Time", "Connectivity", connectDataset, true, false, false); connectivityChart.setBackgroundPaint(getBackground()); if (connectivityChart.getPlot() instanceof XYPlot) { XYPlot xyPlot = (XYPlot) connectivityChart.getPlot(); XYItemRenderer renderer = new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES); renderer.setSeriesShape(0, new Ellipse2D.Double(-2, -2, 4, 4)); xyPlot.setRenderer(renderer); xyPlot.setBackgroundPaint(Color.WHITE); xyPlot.setDomainGridlinePaint(Color.GRAY); xyPlot.setRangeGridlinePaint(Color.GRAY); } JPanel chartPanel = new JPanel(new BorderLayout()); chartPanel.add(new ChartPanel(connectivityChart), BorderLayout.CENTER); chartPanel.add(new JButton(exportAction), BorderLayout.SOUTH); addTab("Connectivity", chartPanel); }