//创建数据集
public CategoryDataset createDataset() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
String series="模型曲线"; //曲线名称
dataset.addValue(9, series, "1"); //参数分别是纵轴值、曲线名称、横轴值
dataset.addValue(21, series, "2");
dataset.addValue(32, series, "3");
dataset.addValue(36, series, "4");
dataset.addValue(43, series, "5");
dataset.addValue(45, series, "6");
dataset.addValue(50, series, "7");
dataset.addValue(58, series, "8");
dataset.addValue(63, series, "9");
dataset.addValue(70, series, "10");
dataset.addValue(71, series, "11");
dataset.addValue(77, series, "12");
dataset.addValue(78, series, "13");
dataset.addValue(87, series, "14");
dataset.addValue(91, series, "15");
dataset.addValue(92, series, "16");
dataset.addValue(95, series, "17");
dataset.addValue(98, series, "18");
dataset.addValue(104, series, "19");
dataset.addValue(105, series, "20");
dataset.addValue(116, series, "21");
dataset.addValue(149, series, "22");
dataset.addValue(156, series, "23");
dataset.addValue(247, series, "24");
dataset.addValue(249, series, "25");
dataset.addValue(250, series, "26");
return dataset;
}
//创建图像
public JFreeChart createChart(CategoryDataset dataset) {JFreeChart chart = ChartFactory.createLineChart("模型图", "累积故障个数", "累积故障时间(s)",
dataset, PlotOrientation.VERTICAL, true, true, true);
cp.setBackgroundPaint(ChartColor.WHITE); // 背景色设置
cp.setRangeGridlinePaint(ChartColor.GRAY); // 网格线色设置
cp.setDomainGridlinePaint(ChartColor.BLACK);
cp.setNoDataMessage("没有数据");
// 数据轴属性部分
NumberAxis rangeAxis = (NumberAxis) cp.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
rangeAxis.setAutoRangeIncludesZero(true); //自动生成
rangeAxis.setUpperMargin(0.20);
rangeAxis.setLabelAngle(Math.PI / 2.0);
rangeAxis.setAutoRange(false);
// 数据渲染部分 主要是对折线做操作
LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot
.getRenderer();
renderer.setBaseItemLabelsVisible(true);
renderer.setSeriesPaint(0, Color.black); //设置折线的颜色
renderer.setBaseShapesFilled(true);
renderer.setBaseItemLabelsVisible(true);
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
renderer
.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
try {
ChartUtilities.saveChartAsPNG(new File("D:\\os\\LineChart.png"),
chart, 800, 500);
} catch (IOException e) {
e.printStackTrace();
}
return chart;
}
}