jfreechart 封装

来源:互联网 发布:弹出广告拦截软件 编辑:程序博客网 时间:2024/04/20 02:12

public static JFreeChart getLineChart(String title, String xSubject, String ySubject, CategoryDataset dataset) { JFreeChart chart = ChartFactory.createLineChart(title, xSubject, ySubject, dataset, PlotOrientation.VERTICAL, true, true, false); LineRenderer3D renderer = new LineRenderer3D(); renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator()); renderer.setItemLabelsVisible(true); renderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER)); CategoryPlot plot = chart.getCategoryPlot(); CategoryAxis domainAxis = plot.getDomainAxis(); //domainAxis.setVerticalCategoryLabels(false); plot.setDomainAxis(domainAxis); ValueAxis rangeAxis = plot.getRangeAxis(); //设置最高的一个 Item 与图片顶端的距离 rangeAxis.setUpperMargin(0.15); //设置最低的一个 Item 与图片底端的距离 rangeAxis.setLowerMargin(0.15); plot.setRangeAxis(rangeAxis); plot.setRenderer(renderer); //设置透明度 plot.setForegroundAlpha(0.4f); //设置背景透明度 plot.setBackgroundAlpha(0.8f); //设置背景颜色 chart.setBackgroundPaint(new Color(240,247,246)); chart.setBackgroundImageAlpha(0.3f); return chart; } 调用代码: public JFreeChart getSingleChart(String chartType) { //构造数据 double[][] data = new double[1][7]; for(int i = 0; i < 7; i ++) { data[0][i] = Math.round(Math.random()*1000); } //根据类型显示不同类型图表 String[] rowKeys = new String[]{"Rule001"}; String[] columnKeys = new String[]{"20日","21日","22日","23日","24日","25日","26日"}; CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data); if(chartType.equals("pole")) return com.util.MyChartFactory.getBarChart("校验规则统计", "日期", "案例(个)", dataset); else if(chartType.equals("line")) return com.util.MyChartFactory.getLineChart("校验规则统计", "日期", "案例(个)", dataset); else //if(chartType.equals("area")) return com.util.MyChartFactory.getAreaChart("校验规则统计", "日期", "案例(个)", dataset); }

原创粉丝点击