public void createLineChart() {
final TimeSeries series1 = new TimeSeries("Diagramm 1", Day.class);
for (int wert = 1; wert < 32; wert++) {
try {
int year_1 = 2007;
int month_1 = 10;
int day_1 = wert;
series1.add(new Day(day_1, month_1, year_1), wert);
}
catch (Exception e) {
e.printStackTrace();
}
}
TimeSeriesCollection dataset_1 = new TimeSeriesCollection();
dataset_1.addSeries(series1);
dataset_1.setDomainIsPointsInTime(true);
final JFreeChart chart_1 = createTimeChart(dataset_1);
try {
ChartUtilities.saveChartAsPNG(new File("C:\\chart.png"), chart_1, 400, 300);
}
catch (java.io.IOException exc) {
exc.printStackTrace();
}
}
private JFreeChart createTimeChart(final XYDataset dataset) {
final JFreeChart chart = ChartFactory.createTimeSeriesChart(
"",
"Name x-Achse", "Name y-Achse",
dataset,
true,
true,
false
);
chart.setBackgroundPaint(Color.white);
final StandardLegend sl = (StandardLegend) chart.getLegend();
sl.setDisplaySeriesShapes(true);
final XYPlot plot = chart.getXYPlot();
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0));
plot.setDomainCrosshairVisible(true);
plot.setRangeCrosshairVisible(true);
final XYItemRenderer renderer = plot.getRenderer();
if (renderer instanceof StandardXYItemRenderer) {
final StandardXYItemRenderer rr = (StandardXYItemRenderer) renderer;
rr.setPlotShapes(false);
rr.setShapesFilled(false);
rr.setItemLabelsVisible(true);
}
final DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("dd-MM-yyyy"));
return chart;
}