JFreeChart实现折线图

public class LineXYChart {

//创建数据集
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);  


        CategoryPlot cp = chart.getCategoryPlot();  
        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;

    } 
 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值