jfreechart生成柱状图与饼状图(入门)
2012-10-09 11:20
106 查看
jfreechart生成柱状图与饼状图(入门)贴两段代码。
/** * 生成柱状图 */ public String genChannelNumBarChart() { try { @SuppressWarnings("unchecked") List<Object[]> lst = channelService.getArticleNumByChannel(); int lstSize = lst.size(); double[][] data = new double[lstSize][1]; String[] rowKeys = new String[lstSize]; String[] columnKeys = new String[]{""}; int i = 0; for (Object[] obj : lst) { log.debug(obj[0] + "," + obj[1]); data[i] = new double[] { Double.parseDouble(String .valueOf(obj[1])) }; rowKeys[i] = String.valueOf(obj[0]); i++; } CategoryDataset dataset = DatasetUtilities.createCategoryDataset( rowKeys, columnKeys, data); JFreeChart chart = ChartFactory.createBarChart3D("栏目文章统计图", "栏目", "文章数", dataset, PlotOrientation.VERTICAL, true, false, false); // 通用程序 TextTitle textTitle = chart.getTitle(); textTitle.setFont(new Font("黑体", Font.BOLD, 15)); CategoryPlot plot = chart.getCategoryPlot(); CategoryAxis domainAxis = plot.getDomainAxis(); domainAxis.setLabelFont(new Font("黑体", Font.BOLD, 15)); domainAxis.setTickLabelFont(new Font("黑体", Font.BOLD, 15)); ValueAxis valueAxis = plot.getRangeAxis(); valueAxis.setLabelFont(new Font("黑体", Font.BOLD, 15)); chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15)); String filename = ServletUtilities.saveChartAsPNG(chart, 600, 400, null, this.getSession()); String graphURL = this.getRequest().getContextPath() + "/DisplayChart?filename=" + filename; log.debug("graphURL:" + graphURL); this.setAttribute("graphURL", graphURL); this.setAttribute("filename", filename); return "channelNumBarChart"; } catch (Exception e) { e.printStackTrace(); } return "channelNumBarChart"; } /** * 生成饼状图 * @return */ public String genChannelNumPieChart() { try{ @SuppressWarnings("unchecked") List<Object[]> lst = channelService.getArticleNumByChannel(); //设置数据集 DefaultPieDataset dataset = new DefaultPieDataset(); int i = 0; for (Object[] obj : lst) { log.debug(obj[0] + "," + obj[1]); dataset.setValue(String.valueOf(obj[0]), Double.parseDouble(String.valueOf(obj[1]))); i++; } //通过工厂类生成JFreeChart对象 JFreeChart chart = ChartFactory.createPieChart3D("栏目文章发布分布图", dataset, true, false, false); TextTitle textTitle = chart.getTitle(); textTitle.setFont(new Font("黑体",Font.BOLD,15)); PiePlot pieplot = (PiePlot) chart.getPlot(); pieplot.setLabelFont(new Font("宋体", 0, 12)); //没有数据的时候显示的内容 pieplot.setNoDataMessage("无数据显示"); pieplot.setCircular(false); pieplot.setLabelGap(0.02D); chart.getLegend().setItemFont(new Font("黑体",Font.BOLD,15)); //pieplot.getLegendItems(). //XYPlot xyPlot=(XYPlot)chart.getPlot(); //xyPlot.getRangeAxis().setLabelFont(new Font("黑体",Font.BOLD,15)); String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, this.getSession()); String graphURL = this.getRequest().getContextPath() + "/DisplayChart?filename=" + filename; this.setAttribute("graphURL", graphURL); this.setAttribute("filename", filename); return "channelNumPieChart"; }catch(Exception e){ e.printStackTrace(); } return "channelNumPieChart"; }
相关文章推荐
- 使用jfreechart生成柱状图、折线图、和饼状图
- JFreeChart生成柱状图、饼状图、折线图详解
- JSP/Java 生成柱状图、饼状图...等复杂的图形 基于jfreechart
- JFreeChart生成柱状图、饼状图、折线图详解
- jfreechart应用_经典例题_生成饼状图、生成单组柱状图、生成多组柱状图、生成堆积柱状图...
- jfreechart应用_经典例题_生成饼状图、生成单组柱状图、生成多组柱状图、生成堆积柱状图、生成折线图
- PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图等
- JFreeChart生成柱状图及其在struts2下的展现
- jfreechart生成柱状图写到jsp页面并打印
- JFreeChart生成混合图(柱状图折线图)并插入excel中
- 使用OWC生成饼状图和柱状图
- 使用JFreeChart生成柱状图,不做任何注释,只求应用,生成的柱状图放在D:\\fruit.jpg
- jfreechart生成折线图 | 饼图 | 柱状图 | 堆栈柱状图 及常见乱码处理方法
- jfreechart生成柱状图,x轴间隔显示
- jfreechart生成柱状图
- PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
- ASP.NET 2.0中OWC生成柱状图和饼状图
- jFreeChart利用CategoryDatase,ChartFactory.createBarChart生成的柱状图
- #.JFreeChart 图表生成实例(饼图、柱状图、折线图、时序图)
- 使用JFreeChart生成柱状图实例(生成图片)