use of org.jfree.chart.plot.XYPlot in project Course_Generator by patrovite.
the class JPanelAnalysisTimeDist method CreateChart.
private JFreeChart CreateChart(XYDataset dataset1, XYDataset dataset2) {
JFreeChart chart = ChartFactory.createXYAreaChart("", // "Distance"
bundle.getString("JPanelAnalysisTimeDist.labelX"), // "Elevation"
bundle.getString("JPanelAnalysisTimeDist.labelY1"), // data
dataset1, // include legend
PlotOrientation.VERTICAL, // include legend
false, // tooltips
true, // urls
false);
// -- Background color
chart.setBackgroundPaint(Color.white);
chart.setAntiAlias(true);
XYPlot plot = (XYPlot) chart.getPlot();
plot.setBackgroundPaint(Color.white);
plot.setDomainGridlinePaint(Color.gray);
plot.setRangeGridlinePaint(Color.gray);
plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
XYAreaRenderer renderer = new XYAreaRenderer();
renderer.setSeriesPaint(0, new Color(0x99, 0xff, 0x00));
renderer.setOutline(true);
renderer.setSeriesOutlineStroke(0, new BasicStroke(2.0f));
plot.setRenderer(0, renderer);
// "Time"
NumberAxis rangeAxis2 = new NumberAxis(bundle.getString("JPanelAnalysisTimeDist.labelY2"));
plot.setRangeAxis(1, rangeAxis2);
plot.setDataset(1, dataset2);
plot.setRangeAxis(1, rangeAxis2);
plot.mapDatasetToRangeAxis(1, 1);
StandardXYItemRenderer renderer2 = new StandardXYItemRenderer();
renderer2.setSeriesPaint(0, Color.red);
plot.setRenderer(1, renderer2);
// -- Select the display order
plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
return chart;
}
use of org.jfree.chart.plot.XYPlot in project xwiki-platform by xwiki.
the class TimePlotFactory method create.
@Override
public Plot create(DataSource dataSource, ChartParams params) throws GenerateException, DataSourceException {
Class rendererClass = params.getClass(ChartParams.RENDERER);
XYItemRenderer renderer;
if (rendererClass != null) {
try {
Constructor ctor = rendererClass.getConstructor(new Class[] {});
renderer = (XYItemRenderer) ctor.newInstance(new Object[] {});
} catch (Throwable e) {
throw new GenerateException(e);
}
} else {
renderer = new XYLineAndShapeRenderer();
}
ChartCustomizer.customizeXYItemRenderer(renderer, params);
DateAxis domainAxis = new DateAxis();
ChartCustomizer.customizeDateAxis(domainAxis, params, ChartParams.AXIS_DOMAIN_PREFIX);
NumberAxis rangeAxis = new NumberAxis();
// override default
rangeAxis.setAutoRangeIncludesZero(false);
ChartCustomizer.customizeNumberAxis(rangeAxis, params, ChartParams.AXIS_RANGE_PREFIX);
XYDataset dataset = TimeSeriesCollectionFactory.getInstance().create(dataSource, params);
XYPlot plot = new XYPlot(dataset, domainAxis, rangeAxis, renderer);
ChartCustomizer.customizeXYPlot(plot, params);
return plot;
}
use of org.jfree.chart.plot.XYPlot in project xwiki-platform by xwiki.
the class XYPlotFactory method create.
public Plot create(DataSource dataSource, XYItemRenderer renderer, ChartParams params) throws GenerateException, DataSourceException {
NumberAxis domainAxis = new NumberAxis();
NumberAxis rangeAxis = new NumberAxis();
ChartCustomizer.customizeNumberAxis(domainAxis, params, ChartParams.AXIS_DOMAIN_PREFIX);
ChartCustomizer.customizeNumberAxis(rangeAxis, params, ChartParams.AXIS_RANGE_PREFIX);
XYDataset dataset = TableXYDatasetFactory.getInstance().create(dataSource, params);
XYPlot plot = new XYPlot(dataset, domainAxis, rangeAxis, renderer);
ChartCustomizer.customizeXYPlot(plot, params);
return plot;
}
use of org.jfree.chart.plot.XYPlot in project xwiki-platform by xwiki.
the class AbstractXYPlotGenerator method generate.
@Override
public Plot generate(ChartModel model, Map<String, String> parameters) throws PlotGeneratorException {
XYDataset dataset;
ValueAxis domainAxis;
ValueAxis rangeAxis;
if (model.getDataset() instanceof XYDataset) {
dataset = (XYDataset) model.getDataset();
} else {
throw new PlotGeneratorException("Incompatible dataset for xy plot.");
}
if (model.getAxis(0) instanceof ValueAxis) {
domainAxis = (ValueAxis) model.getAxis(0);
} else {
throw new PlotGeneratorException("Incompatible axis 0 for xy plot.");
}
if (model.getAxis(1) instanceof ValueAxis) {
rangeAxis = (ValueAxis) model.getAxis(1);
} else {
throw new PlotGeneratorException("Incompatible axis 1 for xy plot.");
}
return new XYPlot(dataset, domainAxis, rangeAxis, getRenderer(parameters));
}
use of org.jfree.chart.plot.XYPlot in project java-messenger-watchdog by chatbot-workshop.
the class SiteStatisticsChart method generateStatImage.
public static byte[] generateStatImage(SiteStatistic statistics) throws IOException {
XYSeries series = new XYSeries(statistics.url().toString());
statistics.data().forEach(series::add);
XYSeriesCollection seriesCollection = new XYSeriesCollection();
seriesCollection.addSeries(series);
JFreeChart chart = ChartFactory.createXYLineChart(statistics.url().toString(), "seconds ago", "milliseconds", seriesCollection, PlotOrientation.VERTICAL, false, false, false);
XYPlot xyPlot = chart.getXYPlot();
xyPlot.setBackgroundPaint(new Color(250, 250, 250));
xyPlot.setDomainGridlinePaint(Color.lightGray);
xyPlot.setRangeGridlinePaint(Color.lightGray);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ChartUtils.writeChartAsPNG(outputStream, chart, 400, 300);
return outputStream.toByteArray();
}
Aggregations