`
king520
  • 浏览: 174572 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
文章分类
社区版块
存档分类
最新评论

jfreechart生成柱状图与饼状图(入门)

 
阅读更多
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(柱状图,饼状图...)教程.zip

    这个教程可能是为了帮助用户理解如何利用JFreeChart来生成柱状图、饼状图等常见类型的图表。下面我们将深入探讨JFreeChart的基本使用、柱状图和饼状图的创建方法,以及如何结合源码进行学习。 首先,JFreeChart库...

    JFreeChart编写柱状图和饼状图及3D饼状图方法

    JFreeChart是一款强大的Java库,用于创建各种图表,包括柱状图、饼状图和3D饼状图等。在Java编程中,JFreeChart是一个非常实用的工具,它允许开发者轻松地在应用程序中集成数据可视化功能。下面将详细介绍如何使用...

    JFreeChart画图 饼状图 单组柱状图 多组柱状图 堆积柱状图 折线图

    JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...

    JFreeChart生成3D饼状图及柱状图

    在这个特定的场景中,我们将关注如何使用JFreeChart生成3D饼状图和柱状图,并将这些图像保存到指定的文件目录下。 首先,我们需要了解JFreeChart的基本用法。JFreeChart的核心是`ChartFactory`类,它提供了静态方法...

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    JFreeChart是一个流行的Java库,用于生成各种类型的图表,包括折线图、饼图和柱状图,甚至堆栈柱状图。这个压缩包中的"CreateChartServiceImpl.java"文件很可能包含了一个实现这些功能的服务类。 首先,我们要理解...

    jfreechart 堆栈柱状图跟折线图结合拼接

    jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707

    java+jfreechart+struts 生成柱状图

    java+jfreechart+struts 生成柱状图 java jfreechart 柱状图 java jfreechart 柱状图 谁需要完整项目可以去http://download.csdn.net/source/2665347

    JFreeChart动态加载柱状图

    JFreeChart创建柱状图,之前网上很多都是创建柱状图的,静态的。数据更新之后柱状图随之改变,代码实现详见附件代码。所需要的jar包是jfreechart-1.0.13.jar,gnujaxp.jar,jcommon-1.0.16.jar

    使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP

    《使用JFreeChart生成曲线、柱状图、饼状图、分布图展示到JSP》 JFreeChart是一个强大的Java库,它允许开发者创建各种类型的图表,包括曲线图、柱状图、饼状图和分布图等。在当前JS图表库盛行的时代,JFreeChart...

    java制作jfreechart柱状图 饼状图 折线图

    Java中的JFreeChart库是一个强大的工具,用于生成各种类型的图表,包括柱状图、饼状图和折线图。在本教程中,我们将深入探讨如何使用JFreeChart创建这些图表,以及如何用随机生成的数据作为数据源。 首先,...

    JFreeChar图表生成柱状图和饼状图源码

    在"JFreeChar图表生成柱状图和饼状图源码"的压缩包中,我们很可能找到了创建这两种图表的示例源代码。 柱状图是一种常用的数据可视化工具,它将数据的每个类别表示为一个垂直或水平的矩形条,长度表示数值大小。...

    flex +jfreechart生成 饼状图+曲线图+柱状图(完整版)

    Flex是一种基于ActionScript的开源框架,主要用于构建富互联网应用程序(RIA),而JFreeChart则是一个Java库,专门用于生成高质量的图表,包括饼状图、柱状图和曲线图等。 在Flex中,我们通常使用MXML和...

    jfreeChart生成的线状图,饼状图,柱状图

    在JFreeChart中,`PieChartDemo1`是生成饼状图的一个典型例子。饼状图适合用于展示各个分类在整体中的占比,例如市场占有率、人口构成等。你可以改变扇区颜色,添加标签,甚至为每个扇区添加工具提示和URL链接。 ``...

    JFreeChart生成柱形图完整测试代码

    JFreeChart生成柱形图完整测试代码 放在普通项目里运行main方法就能生成柱形图 不需要添加任何代码 可根据自己需要修改参数

    java里用JFreeChart画柱状图、折线图、雷达图

    在Java编程环境中,JFreeChart库是一个强大的工具,用于创建各种复杂的图表,包括柱状图、折线图和雷达图。这些图表对于数据可视化和数据分析非常有用,可以帮助开发者直观地展示大量信息。以下是对给定文件中每个...

    jfreechart_生成折线图,饼图,柱状图,堆栈柱状图

    jfreechart 生成折线图、饼图、柱状图、堆栈柱状图 jfreechart 是一个功能强大且流行的 Java 图表库,用于生成各种类型的图表,包括折线图、饼图、柱状图、堆栈柱状图等。在本文中,我们将使用 jfreechart 1.0.8a ...

    jfreechart 绘制横向立体柱状图

    利用jfreechart绘制的横向立体柱状图,横坐标是数值,纵坐标是数据分类,需要提前引入jfreechart包文件到工程里,才不会报错

    利用jFreeChart做曲线图、饼状图、柱状图

    jFreeChart是java编程语言中一个功能强大、开源免费的图表库,能够生成各种类型的图表,包括曲线图、饼状图、柱状图等。通过jFreeChart,可以快速地生成高质量的图表,以满足不同领域的需求。 jFreeChart核心对象类...

Global site tag (gtag.js) - Google Analytics