List of usage examples for org.jfree.chart ChartFactory createXYBarChart
public static JFreeChart createXYBarChart(String title, String xAxisLabel, boolean dateAxis, String yAxisLabel, IntervalXYDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls)
From source file:org.projectforge.plugins.liquidityplanning.LiquidityChartBuilder.java
/** * @param forecast/* ww w. j a v a 2s.co m*/ * @param settings (next days) * @return */ public JFreeChart createBarChart(final LiquidityForecast forecast, final LiquidityForecastSettings settings) { Validate.isTrue(settings.getNextDays() > 0 && settings.getNextDays() < 500); final LiquidityForecastCashFlow cashFlow = new LiquidityForecastCashFlow(forecast, settings.getNextDays()); final TimeSeries accumulatedSeriesExpected = new TimeSeries( I18n.getString("plugins.liquidityplanning.forecast.expected")); final TimeSeries creditSeries = new TimeSeries(I18n.getString("plugins.liquidityplanning.common.credit")); final TimeSeries debitSeries = new TimeSeries(I18n.getString("plugins.liquidityplanning.common.debit")); double accumulatedExpected = settings.getStartAmount().doubleValue(); final DayHolder dh = new DayHolder(); final Date lower = dh.getDate(); for (int i = 0; i < settings.getNextDays(); i++) { final Day day = new Day(dh.getDayOfMonth(), dh.getMonth() + 1, dh.getYear()); if (i > 0) { accumulatedExpected += cashFlow.getDebitsExpected()[i - 1].doubleValue() + cashFlow.getCreditsExpected()[i - 1].doubleValue(); } accumulatedSeriesExpected.add(day, accumulatedExpected); creditSeries.add(day, cashFlow.getCreditsExpected()[i].doubleValue()); debitSeries.add(day, cashFlow.getDebitsExpected()[i].doubleValue()); dh.add(Calendar.DATE, 1); } dh.add(Calendar.DATE, -1); final XYChartBuilder cb = new XYChartBuilder(ChartFactory.createXYBarChart(null, null, false, null, null, PlotOrientation.VERTICAL, false, false, false)); int counter = 0; final TimeSeriesCollection xyDataSeries = new TimeSeriesCollection(); xyDataSeries.addSeries(accumulatedSeriesExpected); final XYLineAndShapeRenderer lineRenderer = new XYLineAndShapeRenderer(true, true); lineRenderer.setSeriesPaint(0, cb.getRedMarker()); lineRenderer.setSeriesVisibleInLegend(0, true); cb.setRenderer(counter, lineRenderer).setDataset(counter++, xyDataSeries).setStrongStyle(lineRenderer, false, accumulatedSeriesExpected); final TimeSeriesCollection cashflowSet = new TimeSeriesCollection(); cashflowSet.addSeries(debitSeries); cashflowSet.addSeries(creditSeries); final XYBarRenderer barRenderer = new XYBarRenderer(.2); barRenderer.setSeriesPaint(0, cb.getGreenFill()); barRenderer.setSeriesPaint(1, cb.getRedFill()); barRenderer.setShadowVisible(false); cb.setRenderer(counter, barRenderer).setDataset(counter++, cashflowSet); cb.setDateXAxis(true).setDateXAxisRange(lower, dh.getDate()).setYAxis(true, null); return cb.getChart(); }
From source file:beadAnalyzer.DrawPoints.java
protected JFreeChart createChart(final IntervalXYDataset dataset, final String title, final String units) { final JFreeChart chart = ChartFactory.createXYBarChart(title, "Pixel [" + units + "]", false, "Count", dataset, PlotOrientation.VERTICAL, false, // legend false, false);/*from www . j a va 2 s . co m*/ NumberAxis range = (NumberAxis) chart.getXYPlot().getDomainAxis(); range.setRange(getMin(), getMax()); XYPlot plot = chart.getXYPlot(); XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer(); renderer.setSeriesPaint(0, Color.red); renderer.setDrawBarOutline(true); renderer.setSeriesOutlinePaint(0, Color.black); renderer.setBarPainter(new StandardXYBarPainter()); return chart; }
From source file:net.sourceforge.processdash.ui.web.psp.TimeLogPhaseWaterfallChart.java
private JFreeChart createChart(IntervalXYDataset dataset, ProcessUtil process, List<String> phases, GapSkipTracker gaps) {//from w w w . j a va2 s.c om JFreeChart result = ChartFactory.createXYBarChart(null, null, true, null, dataset, PlotOrientation.VERTICAL, false, true, false); XYPlot xyplot = (XYPlot) result.getPlot(); DateAxis dateAxis = new DateAxis(null); dateAxis.setTickMarksVisible(false); dateAxis.setTickLabelsVisible(false); dateAxis.setLowerMargin(0.01); dateAxis.setUpperMargin(0.01); setupGaps(gaps, dateAxis, xyplot); xyplot.setDomainAxis(dateAxis); String[] phaseNameList = new String[phases.size()]; for (int i = 0; i < phaseNameList.length; i++) phaseNameList[i] = Translator.translate(phases.get(i)); SymbolAxis symbolaxis = new SymbolAxis(null, phaseNameList); symbolaxis.setGridBandsVisible(false); xyplot.setRangeAxis(symbolaxis); final XYBarRenderer renderer = (XYBarRenderer) xyplot.getRenderer(); renderer.setUseYInterval(true); renderer.setDrawBarOutline(true); renderer.setBaseOutlinePaint(Color.black); new PhaseChartColorer(process, phases) { public void setItemColor(Object key, int pos, Color c) { renderer.setSeriesPaint(pos, c); } }.run(); int exceptionSeries = dataset.getSeriesCount() - 1; renderer.setSeriesPaint(exceptionSeries, EXCEPTION_PAINT); renderer.setSeriesFillPaint(exceptionSeries, EXCEPTION_PAINT); renderer.setSeriesOutlinePaint(exceptionSeries, EXCEPTION_PAINT); renderer.setBaseToolTipGenerator(new TooltipGenerator()); xyplot.setBackgroundPaint(Color.white); xyplot.setDomainGridlinesVisible(false); xyplot.setRangeGridlinePaint(Color.lightGray); xyplot.setDrawingSupplier(DRAWING_SUPPLIER_FACTORY.newDrawingSupplier()); result.setAntiAlias(false); result.setTextAntiAlias(true); parameters.put("title", resources.getString("Title")); return result; }
From source file:userinterface.graph.Histogram.java
/** * Creates an instance of the Histogram/*from w w w .ja v a 2 s.c o m*/ * @param title the title of the Histogram */ public Histogram(String title) { super(ChartFactory.createXYBarChart(title, "", false, "No. of states", new XYIntervalSeriesCollection(), PlotOrientation.VERTICAL, true, true, false)); this.title = title; init(); initSettings(); }
From source file:edu.ucla.stat.SOCR.chart.demo.XYBarChartDemo2.java
protected JFreeChart createLegend(IntervalXYDataset dataset) { JFreeChart chart = ChartFactory.createXYBarChart(chartTitle, // chart title domainLabel, // domain axis label true, rangeLabel, // range axis label dataset, // data PlotOrientation.VERTICAL, true, // include legend true, false);//from w w w . j av a 2s. co m // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART... XYPlot plot = chart.getXYPlot(); plot.setRenderer(new ClusteredXYBarRenderer()); XYItemRenderer renderer = plot.getRenderer(); renderer.setBaseToolTipGenerator( new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, new SimpleDateFormat("d-MMM-yy"), new DecimalFormat("#,##0.00"))); renderer.setLegendItemLabelGenerator(new SOCRXYSeriesLabelGenerator()); // OPTIONAL CUSTOMISATION COMPLETED. //setXSummary(dataset); X is time return chart; }
From source file:edu.ucla.stat.SOCR.chart.SuperYIntervalChart.java
/** * Creates a chart./*w ww. ja v a2 s. c om*/ * * @param dataset the dataset. * * @return a chart. */ protected JFreeChart createChart(IntervalXYDataset dataset) { JFreeChart chart = ChartFactory.createXYBarChart(chartTitle, // chart title "Date", // domain axis label true, "Y", // range axis label dataset, // data PlotOrientation.VERTICAL, !legendPanelOn, // include legend true, false); // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART... XYPlot plot = chart.getXYPlot(); plot.setRenderer(new ClusteredXYBarRenderer()); // OPTIONAL CUSTOMISATION COMPLETED. return chart; }
From source file:ec.ui.view.AutoCorrelationsView.java
private static JFreeChart createAutoCorrelationsViewChart() { JFreeChart result = ChartFactory.createXYBarChart("", "", false, "", Charts.emptyXYDataset(), PlotOrientation.VERTICAL, false, false, false); result.getTitle().setFont(TsCharts.CHART_TITLE_FONT); result.setPadding(TsCharts.CHART_PADDING); XYPlot plot = result.getXYPlot();//from www. j a v a 2 s . co m XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer(); renderer.setShadowVisible(false); renderer.setDrawBarOutline(true); renderer.setAutoPopulateSeriesPaint(false); renderer.setAutoPopulateSeriesOutlinePaint(false); NumberAxis rangeAxis = new NumberAxis(); rangeAxis.setAutoRangeIncludesZero(false); rangeAxis.setTickLabelPaint(TsCharts.CHART_TICK_LABEL_COLOR); plot.setRangeAxis(rangeAxis); NumberAxis domainAxis = new NumberAxis(); domainAxis.setTickLabelPaint(TsCharts.CHART_TICK_LABEL_COLOR); plot.setDomainAxis(domainAxis); return result; }
From source file:edu.ucla.stat.SOCR.chart.SuperYIntervalChart.java
protected JFreeChart createLegend(IntervalXYDataset dataset) { JFreeChart chart = ChartFactory.createXYBarChart(chartTitle, // chart title "Date", // domain axis label true, "Y", // range axis label dataset, // data PlotOrientation.VERTICAL, true, // include legend true, false);//from ww w . j a va2 s.co m // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART... XYPlot plot = chart.getXYPlot(); plot.setRenderer(new ClusteredXYBarRenderer()); return chart; }
From source file:org.pentaho.aggdes.ui.form.controller.AggListController.java
public void changeInAggregates() { // set dirty bit for workspace workspace.setWorkspaceUpToDate(false); // set the dirty bit for the schema publishing functionality if (getConnectionModel().getSchema() != null) { getConnectionModel().setSchemaUpToDate(false); }//ww w . j av a 2 s .c o m // configure summary model and chart values int totalAggregatesSelected = 0; double totalRows = 0; double totalSpace = 0; double totalLoadTime = 0; //Fire event AggListController.this.firePropertyChange("aggList", null, aggList); List<Aggregate> algoAggregates = new ArrayList<Aggregate>(); for (UIAggregate aggregate : getAggList()) { if (aggregate.getEnabled()) { totalAggregatesSelected++; totalRows += aggregate.estimateRowCount(); totalSpace += aggregate.estimateSpace(); algoAggregates .add(algorithm.createAggregate(connectionModel.getSchema(), aggregate.getAttributes())); } } double[] xs = new double[algoAggregates.size()]; double[] startx = new double[algoAggregates.size()]; double[] endx = new double[algoAggregates.size()]; double[] ys = new double[algoAggregates.size()]; double[] starty = new double[algoAggregates.size()]; double[] endy = new double[algoAggregates.size()]; XYSeries series1 = new XYSeries("CostBenefit"); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series1); DefaultIntervalXYDataset datasetxy = new DefaultIntervalXYDataset(); if (connectionModel.getSchema() != null) { Map<Parameter, Object> algorithmParams = ArgumentUtils.validateParameters(algorithm, algorithmUiExtension.getAlgorithmParameters()); List<Algorithm.CostBenefit> costBenefit = algorithm.computeAggregateCosts(connectionModel.getSchema(), algorithmParams, algoAggregates); double totalbenefit = 0; double x = 0; int count = 0; for (Algorithm.CostBenefit cb : costBenefit) { Aggregate agg = algoAggregates.get(count); double estimateSpace = agg.estimateSpace(); double hx = estimateSpace / 2; totalLoadTime += cb.getLoadTime(); totalbenefit += cb.getSavedQueryRowCount(); series1.add(x + hx, totalbenefit); xs[count] = x + hx; startx[count] = x; x += estimateSpace; endx[count] = x; ys[count] = totalbenefit; starty[count] = 0; endy[count] = 0; count++; } // update summary table aggregateSummaryModel.setSelectedAggregateCount(format.format(totalAggregatesSelected)); aggregateSummaryModel.setSelectedAggregateRows(format.format(totalRows)); aggregateSummaryModel.setSelectedAggregateSpace(format.format(totalSpace) + " bytes"); aggregateSummaryModel.setSelectedAggregateLoadTime(format.format(totalLoadTime)); } else { aggregateSummaryModel.setSelectedAggregateCount(""); aggregateSummaryModel.setSelectedAggregateRows(""); aggregateSummaryModel.setSelectedAggregateSpace(""); aggregateSummaryModel.setSelectedAggregateLoadTime(""); } // render cost benefit chart double[][] data = new double[][] { xs, startx, endx, ys, starty, endy }; datasetxy.addSeries("", data); JFreeChart chart = ChartFactory.createXYBarChart("", // chart title "Cost", // x axis label false, "Benefit", // y axis label datasetxy, // data PlotOrientation.VERTICAL, // orientation false, // include legend false, // tooltips? false // URLs? ); ((XYPlot) chart.getPlot()).getDomainAxis().setTickLabelsVisible(false); ((XYPlot) chart.getPlot()).getRangeAxis().setTickLabelsVisible(false); ((XYPlot) chart.getPlot()).setDataset(1, dataset); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); chart.setBackgroundPaint( new Color(Integer.parseInt(Messages.getString("chart_background_color").toUpperCase(), 16))); renderer.setSeriesPaint(0, new Color(Integer.parseInt(Messages.getString("chart_line_color").toUpperCase(), 16))); ((XYPlot) chart.getPlot()).getRenderer(0).setSeriesPaint(0, new Color(Integer.parseInt(Messages.getString("chart_bar_color").toUpperCase(), 16))); ((XYPlot) chart.getPlot()).setRenderer(1, renderer); ((XYPlot) chart.getPlot()).setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD); XulImage image = (XulImage) document.getElementById("chart"); image.setSrc(chart.createBufferedImage(309, 168)); }
From source file:de.laures.cewolf.taglib.CewolfChartFactory.java
public static JFreeChart getChartInstance(String chartType, String title, String xAxisLabel, String yAxisLabel, Dataset data) throws ChartValidationException { // first check the dynamically registered chart types CewolfChartFactory factory = (CewolfChartFactory) factories.get(chartType); if (factory != null) { // custom factory found, use it return factory.getChartInstance(title, xAxisLabel, yAxisLabel, data); }/*www . j a v a 2 s. c o m*/ switch (getChartTypeConstant(chartType)) { case XY: check(data, XYDataset.class, chartType); return ChartFactory.createXYLineChart(title, xAxisLabel, yAxisLabel, (XYDataset) data, PlotOrientation.VERTICAL, true, true, true); case PIE: check(data, PieDataset.class, chartType); return ChartFactory.createPieChart(title, (PieDataset) data, true, true, true); case AREA_XY: check(data, XYDataset.class, chartType); return ChartFactory.createXYAreaChart(title, xAxisLabel, yAxisLabel, (XYDataset) data, PlotOrientation.VERTICAL, true, false, false); case SCATTER: check(data, XYDataset.class, chartType); return ChartFactory.createScatterPlot(title, xAxisLabel, yAxisLabel, (XYDataset) data, PlotOrientation.VERTICAL, true, false, false); case AREA: check(data, CategoryDataset.class, chartType); return ChartFactory.createAreaChart(title, xAxisLabel, yAxisLabel, (CategoryDataset) data, PlotOrientation.VERTICAL, true, false, false); case HORIZONTAL_BAR: check(data, CategoryDataset.class, chartType); return ChartFactory.createBarChart(title, xAxisLabel, yAxisLabel, (CategoryDataset) data, PlotOrientation.HORIZONTAL, true, false, false); case HORIZONTAL_BAR_3D: check(data, CategoryDataset.class, chartType); return ChartFactory.createBarChart3D(title, xAxisLabel, yAxisLabel, (CategoryDataset) data, PlotOrientation.HORIZONTAL, true, false, false); case LINE: check(data, CategoryDataset.class, chartType); return ChartFactory.createLineChart(title, xAxisLabel, yAxisLabel, (CategoryDataset) data, PlotOrientation.VERTICAL, true, false, false); case STACKED_HORIZONTAL_BAR: check(data, CategoryDataset.class, chartType); return ChartFactory.createStackedBarChart(title, xAxisLabel, yAxisLabel, (CategoryDataset) data, PlotOrientation.HORIZONTAL, true, false, false); case STACKED_VERTICAL_BAR: check(data, CategoryDataset.class, chartType); return ChartFactory.createStackedBarChart(title, xAxisLabel, yAxisLabel, (CategoryDataset) data, PlotOrientation.VERTICAL, true, false, false); case STACKED_VERTICAL_BAR_3D: check(data, CategoryDataset.class, chartType); return ChartFactory.createStackedBarChart3D(title, xAxisLabel, yAxisLabel, (CategoryDataset) data, PlotOrientation.VERTICAL, true, false, false); case VERTICAL_BAR: check(data, CategoryDataset.class, chartType); return ChartFactory.createBarChart(title, xAxisLabel, yAxisLabel, (CategoryDataset) data, PlotOrientation.VERTICAL, true, false, false); case VERTICAL_BAR_3D: check(data, CategoryDataset.class, chartType); return ChartFactory.createBarChart3D(title, xAxisLabel, yAxisLabel, (CategoryDataset) data, PlotOrientation.VERTICAL, true, false, false); case TIME_SERIES: check(data, XYDataset.class, chartType); return ChartFactory.createTimeSeriesChart(title, xAxisLabel, yAxisLabel, (XYDataset) data, true, false, false); case CANDLE_STICK: check(data, OHLCDataset.class, chartType); return ChartFactory.createCandlestickChart(title, xAxisLabel, yAxisLabel, (OHLCDataset) data, true); case HIGH_LOW: check(data, OHLCDataset.class, chartType); return ChartFactory.createHighLowChart(title, xAxisLabel, yAxisLabel, (OHLCDataset) data, true); case GANTT: check(data, IntervalCategoryDataset.class, chartType); return ChartFactory.createGanttChart(title, xAxisLabel, yAxisLabel, (IntervalCategoryDataset) data, true, false, false); case WIND: check(data, WindDataset.class, chartType); return ChartFactory.createWindPlot(title, xAxisLabel, yAxisLabel, (WindDataset) data, true, false, false); //case SIGNAL : // check(data, SignalsDataset.class, chartType); // return ChartFactory.createSignalChart(title, xAxisLabel, yAxisLabel, (SignalsDataset) data, true); case VERRTICAL_XY_BAR: check(data, IntervalXYDataset.class, chartType); return ChartFactory.createXYBarChart(title, xAxisLabel, true, yAxisLabel, (IntervalXYDataset) data, PlotOrientation.VERTICAL, true, false, false); case PIE_3D: check(data, PieDataset.class, chartType); return ChartFactory.createPieChart3D(title, (PieDataset) data, true, false, false); case METER: check(data, ValueDataset.class, chartType); MeterPlot plot = new MeterPlot((ValueDataset) data); JFreeChart chart = new JFreeChart(title, plot); return chart; case STACKED_AREA: check(data, CategoryDataset.class, chartType); return ChartFactory.createStackedAreaChart(title, xAxisLabel, yAxisLabel, (CategoryDataset) data, PlotOrientation.VERTICAL, true, false, false); case BUBBLE: check(data, XYZDataset.class, chartType); return ChartFactory.createBubbleChart(title, xAxisLabel, yAxisLabel, (XYZDataset) data, PlotOrientation.VERTICAL, true, false, false); case AUSTER_CICLOS: check(data, IntervalCategoryDataset.class, chartType); return ChartFactory.createAusterCiclosChart((IntervalCategoryDataset) data); default: throw new UnsupportedChartTypeException(chartType + " is not supported."); } }