public static JFreeChart chartSchedule(Collection<? extends Vehicle> vehicles, DescriptionCreator descriptionCreator, PaintSelector paintSelector) { // data TaskSeriesCollection dataset = createScheduleDataset(vehicles, descriptionCreator); XYTaskDataset xyTaskDataset = new XYTaskDataset(dataset); // chart JFreeChart chart = ChartFactory.createXYBarChart("Schedules", "Time", false, "Vehicles", xyTaskDataset, PlotOrientation.HORIZONTAL, false, true, false); XYPlot plot = (XYPlot)chart.getPlot(); // Y axis String[] series = new String[vehicles.size()]; int i = 0; for (Vehicle v : vehicles) { series[i++] = v.getId().toString(); } SymbolAxis symbolAxis = new SymbolAxis("Vehicles", series); symbolAxis.setGridBandsVisible(false); plot.setDomainAxis(symbolAxis); // X axis plot.setRangeAxis(new DateAxis("Time", TimeZone.getTimeZone("GMT"), Locale.getDefault())); // Renderer XYBarRenderer xyBarRenderer = new ChartTaskRenderer(dataset, paintSelector); xyBarRenderer.setUseYInterval(true); plot.setRenderer(xyBarRenderer); return chart; }
public JFreeChart createChart(Ofxchart ofxChart) { JFreeChart chart = ChartFactory.createXYBarChart( "XYBarChartDemo6", "X", false, "Y", createDataset(ofxChart), PlotOrientation.VERTICAL, false, false, false ); XYPlot plot = (XYPlot) chart.getPlot(); XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer(); logger.debug("Dont know if this works ..."); renderer.setBarPainter(new StandardXYBarPainter()); renderer.setUseYInterval(true); plot.setRenderer(renderer); // workaround to update axis range return chart; } }
XYBarRenderer xyRend = new XYBarRenderer(); xyRend.setShadowVisible(false); xyRend.setUseYInterval(true); xyRend.setBarPainter(new StandardXYBarPainter()); xyRend.setSeriesPaint(0, Color.BLACK);
plot.setRenderer(new ColorTaskXYBarRenderer(colorMap)); XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer(); renderer.setUseYInterval(true); renderer.setShadowVisible(false); renderer.setBarPainter(new ColorTaskGradientXYBarPainter());