`

JFreeChart产生Web图表

阅读更多
这个是柱状图的
后台代码:
	@Action(value="init",results={ @Result(location = "/page/count/init.jsp") })
	public String init() throws Exception{	
		setImages();
		return ConstUtil.SUCCESS;
	}		
	
	public void setImages()throws Exception{
		DefaultCategoryDataset dataset = getDataSet();
		JFreeChart chart = ChartFactory.createBarChart3D(
							"水果产量图", //图表标题
							"水果", //目录轴的显示标签
							"产量", //数值轴的显示标签
							dataset, //数据集
							PlotOrientation.VERTICAL, //图表方向:水平、垂直
							true, //是否显示图例(对于简单的柱状图必须是false)
							false, //是否生成工具
							false //是否生成URL链接
							);		
		//解决乱码问题
		setImageFont(chart);
		
		HttpServletRequest req = (HttpServletRequest) (ActionContext
				.getContext().get(ServletActionContext.HTTP_REQUEST));
		String filename = ServletUtilities.saveChartAsPNG(chart, 400,
				300, null, req.getSession());
		ServletContext servlet = (ServletContext) (ActionContext.getContext()
				.get(ServletActionContext.SERVLET_CONTEXT)); 
		String imagePath_area = servlet.getContextPath() + "/servlet/DisplayChart?filename="
				+ filename;
		
		request.put("image", image);
	}
	
	/**
	 * 解决乱码问题
	 */
	private  void setImageFont(JFreeChart chart){
		CategoryPlot plot = (CategoryPlot) chart.getPlot();
		CategoryAxis domainAxis = plot.getDomainAxis();    
		ValueAxis numberaxis = plot.getRangeAxis();  
		
		//设置标题文字 
		chart.getTitle().setFont(new Font("宋体", Font.BOLD,12));  
		    
		//设置X轴坐标上的文字    
		domainAxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 11));     
		    
		//设置X 轴的标题文字  
		domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));     
	   
		//设置Y 轴坐标上的文字   
		numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));     
	    
		//设置Y 轴的标题文字
		numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));     
		    
		//设置底部文字 
		chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));  
	}
	
	/**
	 * 获取一个组合数据集对象
	 * @return
	 */
	private  DefaultCategoryDataset getDataSet(){
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		
		dataset.addValue(100, "北京", "苹果");
		dataset.addValue(120, "上海", "苹果");
		dataset.addValue(380, "广州", "苹果");
		dataset.addValue(230, "北京", "梨子");
		dataset.addValue(200, "上海", "梨子");
		dataset.addValue(230, "广州", "梨子");
		dataset.addValue(400, "北京", "葡萄");
		dataset.addValue(300, "上海", "葡萄");
		dataset.addValue(500, "广州", "葡萄");
		return dataset;
	}




这是饼状图的
public void cateImage() throws IOException {
		DefaultPieDataset data = getDataSetcate();
		JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", // 图表标题 
				data, true, // 是否显示图例 
				false, false);

		setImageFont1(chart);

		HttpServletRequest req = (HttpServletRequest) (ActionContext
				.getContext().get(ServletActionContext.HTTP_REQUEST));
		String filename = ServletUtilities.saveChartAsPNG(chart, 400, 300,
				null, req.getSession());
		ServletContext servlet = (ServletContext) (ActionContext.getContext()
				.get(ServletActionContext.SERVLET_CONTEXT));
		String cate = servlet.getContextPath()
				+ "/servlet/DisplayChart?filename=" + filename;

		request.put("image", image);
	}

	/** 
	 * 解决乱码问题 
	 */
	private void setImageFont1(JFreeChart chart) {
		PiePlot pieplot = (PiePlot) chart.getPlot();
		//设置标题的字体 
		chart.getTitle().setFont(new Font("宋体", Font.BOLD, 12));

		//设置中间的字体 
		pieplot.setLabelFont(new Font("宋体", Font.PLAIN, 10));

		//设置底部的字体 
		chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
	}

	/** 
	 * 获取一个简单数据集对象 
	 * @return 
	 */
	private static DefaultPieDataset getDataSetcate() {
		DefaultPieDataset dataset = new DefaultPieDataset();
		dataset.setValue("苹果", 100);
		dataset.setValue("梨子", 200);
		dataset.setValue("葡萄", 300);
		dataset.setValue("香蕉", 400);
		dataset.setValue("荔枝", 500);
		return dataset;
	}


页面代码:
<div class="pic">
		<img src="${request.image}" >
</div>	
分享到:
评论

相关推荐

    JFreeChart -- web图表生成源码

    传统的一些以软件包形式发布应用程序例如报表系统等都在逐渐搬到因特网上。但是这两者之间有着天壤之别,虽然对于数据获取、业务处理等方面...因此我们下面将介绍一个JAVA的图表引擎JFreeChart用来产生基于WEB的图表。

    jfreechart的WEB图表开发_____个人测试

    这篇个人测试的博客文章(尽管描述中未提供具体详情)很可能探讨了如何使用JFreeChart进行WEB图表的开发和实现。 首先,JFreeChart的使用通常涉及到以下几个步骤: 1. **引入依赖**:在项目中添加JFreeChart的库...

    jfreeChart java web 图表包

    **JFreeChart:Java Web 图表的开源框架** JFreeChart 是一个强大的 Java 库,专为创建高质量的图表而设计,尤其适用于 Java Web 应用程序。它提供了丰富的图表类型,包括曲线图、柱状图、饼状图、甘特图、雷达图和...

    JFreechart-web图表书第4章

    【JFreeChart-web图表书第4章】章节主要讲解了如何搭建JSP/Servlet的运行环境,特别是关于Tomcat服务器的安装与配置。在开发Web应用程序时,应用服务器(Application Server)扮演着至关重要的角色,它为Java企业...

    《精通Java Web动态图表编程》附JFreeChart -- web图表生成源码

    通过学习《精通Java Web动态图表编程》,读者不仅可以掌握JFreeChart的使用,还能了解到Java Web开发的许多重要概念,从而提升开发动态、交互式Web图表的能力。书中的每个章节都是一个逐步进阶的过程,从基础知识到...

    jFreeChart展示web图表-五分钟上手.zip

    在Web应用程序中,jFreeChart可以帮助开发者轻松地创建动态、交互式的图表,以直观地展示数据。本教程将带你快速掌握如何在Web项目中使用jFreeChart。 ### 1. 安装与引入jFreeChart 首先,你需要将jFreeChart库...

    JFreeChart -- web图表生成源码.zip_JfreeChart web_java web_jfreechart_w

    JFreeChart 是一个开源的 Java 库,它提供了一种在 Java 应用程序和 Web 应用程序中生成高质量图表的方法。这个库广泛用于数据可视化,支持多种图表类型,如柱状图、饼图、线图、散点图、甘特图以及组合图等。...

    一种基于JFreeChart的Web统计图表.pdf

    ##### JFreeChart创建Web图表的基本原理 当客户端通过浏览器向Web服务器发起请求时,JSP页面将处理请求并调用后端的JavaBean或Servlet组件。这些组件根据前端提供的数据,在Web服务器端生成图表文件(通常是JPEG或...

    使用 JFreeChart来创建基于web的图表 WORD版

    本文档主要讲述的是使用 JFreeChart来创建基于web的图表;JFreeChart是开放源代码站点SourceForge.net上的一个JAVA项目,它主要用来各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、...

    使用 JFreeChart来创建基于web的图表

    下面我们将详细探讨如何使用JFreeChart创建基于Web的图表。 首先,集成JFreeChart到Web项目中。你需要将JFreeChart的jar文件添加到项目的类路径中,这可以通过在构建路径中包含它或者将其放入WEB-INF/lib目录下完成...

    JFreechart-web图表书第一章

    本章主要介绍Java的历史及其运行机制、技术特点,讲解了各种Java开发环境的搭建,包括JDK的下载、安装和环境变量的设置,在EditPlus和...下面学习Java Applet的编写和调试,让我们一起进入Web图表编程的精彩世界!

    使用JFreeChart来创建基于web的图表

    ### 如何使用JFreeChart创建Web图表 #### 安装与配置 首先,你需要将JFreeChart库添加到项目中。如果你使用的是Maven,可以通过在`pom.xml`文件中添加依赖来实现: ```xml &lt;groupId&gt;org.jfree &lt;artifactId&gt;...

    jfreechart java画图表开源jar包

    JFreeChart 是一个强大的 Java 库,专为在 Java 应用程序和 Web 应用中创建高质量图表而设计。它提供了丰富的图表类型,包括柱状图、饼图、线图、散点图、面积图、甘特图以及更复杂的3D图表等,适用于数据可视化需求...

    JFreeChart与JSP动态图表

    标题“JFreeChart与JSP动态图表”涉及的是在Java Web开发中利用JFreeChart库创建动态图表并与JSP(JavaServer Pages)结合的技术。JFreeChart是一个强大的开源Java库,用于生成高质量的2D图表,包括折线图、柱状图、...

    Jfreechart的基础图表用法与在web项目中调用.doc

    以下是对 JFreeChart 基础图表用法和在 Web 项目中调用的详细解释: 1. **安装与引入**: 要使用 JFreeChart,首先需要从官方网站 (&lt;http://www.jfree.org/jfreechart/&gt;) 下载最新的 JAR 包,并将其添加到项目的类...

    使用JFreeChart来创建基于web的图表.docx

    下面是JFreeChart产生的三种类型图表的结果: 图 1:柱状图 图 2:线图 图 3:饼图 这些图表都是表示四个季度的某个产品的销量信息。使用JFreeChart可以生成多种类型的图表,满足不同的需求。 使用JFreeChart来...

    JSP使用JFreeChart生成各种图表并生成PDF文档

    在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而JFreeChart和IText是两个强大的库,分别用于生成各种图表和PDF文档。本篇将详细介绍如何利用JSP结合这两个库来实现数据可视化和文档生成...

Global site tag (gtag.js) - Google Analytics