`

jfreechart创建饼图

阅读更多

 /**
  * 生成饼图
  * @param keys    section的名称
  * @param values  section的值
  * @param title   饼图的标题
  * @param session 
  * @return        生成的饼图的文件名
  */
 public String createPieChart(List keys, List values ,String title, HttpSession session){
  DefaultPieDataset data = new DefaultPieDataset();
  if(keys!=null && keys.size()>0 && values!=null && values.size()>0)
  for(int i=0;i<keys.size();i++){
   Comparable key = (Comparable)keys.get(i);
   Number value = (Number)values.get(i);
   data.setValue(key, value); 
  }
  PiePlot3D pieplot3d = new PiePlot3D(data);
  JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, pieplot3d, true);

  //设置开始角度
  pieplot3d.setStartAngle(150D);
  //设置方向为”顺时针方向“
  pieplot3d.setDirection(Rotation.CLOCKWISE);
  //设置透明度,0.5F为半透明,1为不透明,0为全透明
  pieplot3d.setForegroundAlpha(0.5F);
  pieplot3d.setNoDataMessage("无数据显示");// 没有数据的时候显示的内容
  //pieplot3d.setExplodePercent(arg0, arg1);
pieplot3d.setLabelGenerator(new StandardPieSectionLabelGenerator(
    ("{0}: ({2})"), NumberFormat.getNumberInstance(),
    new DecimalFormat("0.00%")));

  chart.setBackgroundPaint(java.awt.Color.white);//可选,设置图片背景色
  
  chart.setTitle(title);//可选,设置图片标题
  
  ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
  
  String filename="";
  try {
   //500是图片长度,300是图片高度
   filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
   //graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
  } catch (IOException e) {
   e.printStackTrace();
  }
  return filename;
 }

 

其中new StandardPieSectionLabelGenerator(
("{0}: ({1},{2})"), NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")
)
    的("{0}: ({1},{2})")
是生成的格式,{0}表示section名,{1}表示section的值,{2}表示百分比。可以自定义。而new DecimalFormat("0.00%")表示小数点后保留两位。

 

在jsp页面中引用的方法:

<%

 String filename=tem.createPieChart(keys,values,"统计图",session);

 String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;

%>

 

<img src="<%= graphURL %>" width=500 height=300 border=0 >

 

评论

相关推荐

    JFreeChart生成饼图最简单demo.

    在IT领域,特别是数据可视化方面,JFreeChart是一款非常受欢迎且功能强大的开源Java图表库,它支持多种类型的图表,如折线图、柱状图、饼图等,为开发者提供了丰富的API来创建高质量的统计图表。本文将详细介绍如何...

    JFreeChart生成饼图

    接下来,使用`ChartFactory.createPieChart()`方法创建饼图对象。该方法接受四个参数:图表标题、数据集、是否显示图例、是否生成工具提示文本、是否生成URL链接。 ```java import org.jfree.chart.ChartFactory; ...

    20201012JFreeChart生成饼图和环图技术.zip

    例如,我们可以使用`ChartFactory.createPieChart()`或`ChartFactory.createRingChart()`来创建饼图和环图。 3. **定义数据源**:在生成图表之前,我们需要准备数据。这通常涉及到创建一个`CategoryDataset`(对于...

    JFreeChart绘制饼图,折线图,柱状图demo

    在JFreeChart中,我们可以使用`PieChart`类来创建饼图。以下是一个简单的代码示例: ```java import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.data.general....

    jfreechart做饼图需要的jcommon-1.0.0-rc1.jar和jfreechart-1.0.0-rc1.jar两个jar包.rar

    创建饼图的基本步骤如下: 1. 引入JFreeChart和JCommon库。 2. 创建一个`PieDataset`对象,它存储了饼图各部分的数据。数据可以是`DefaultPieDataset`,也可以自定义实现。 3. 使用`PiePlot`类创建一个饼图布局,你...

    用JFreeChart创建基于Web的图表

    使用JFreeChart创建饼图的基本步骤如下: - 创建数据集:使用`DefaultPieDataset`类。 - 构建图表:使用`JFreeChart`类。 - 设置图表属性:可以设置图表标题、图例等。 - 显示或导出图表:可以将图表渲染到图像文件...

    JFreeChart 饼图、柱状图 例 (含数据库)

    JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括饼图、柱状图等,并且能够与数据库进行交互,为数据分析和可视化提供便利。在这个MyEclipse项目中,你将找到如何利用JFreeChart来实现这些...

    JFreeChart 饼图,柱图,折线图

    在JFreeChart中,我们可以通过`PieChart`类来创建饼图。首先,我们需要一个`PieDataset`来存储数据,然后用这个数据集创建`PiePlot`对象,并将其设置到`JFreeChart`实例上。最后,我们可以将图表渲染到一个`...

    jFreeChart简单入门.doc

    在这个简单的入门文档中,我们将探讨如何使用 JFreeChart 创建饼图和柱状图。 首先,使用 JFreeChart 需要引入两个核心的 JAR 文件:`jcommon-版本号.jar` 和 `jfreechart-版本号.jar`。这两个库可以从 JFreeChart ...

    JFreeChart饼图、柱状图等

    创建饼图时,我们需要提供一个Key-Value对的列表,Key代表类别,Value则代表该类别的值。JFreeChart提供了丰富的定制选项,比如设置标签的方向、颜色、字体,甚至可以添加3D效果。 其次,柱状图是一种常用的统计...

    JFreeChart 1.0.9 开发文档

    本章节专门讨论了如何使用JFreeChart创建饼图。 **5.2 创建简单的饼图** 介绍了创建简单饼图的基本步骤。 **5.3 部分颜色** 讲解如何设置饼图中各部分的颜色。 **5.4 部分轮廓** 解释了如何设置饼图各部分的...

    java绘制图表(柱状图、饼图、折线图)包 jfreechart

    JFreeChart允许你创建带有百分比标签和详细图例的饼图。你需要创建一个`PieDataset`对象存储数据,然后调用`createPieChart()`方法来生成饼图。 对于折线图,它常用于展示数据随时间的变化趋势。在JFreeChart中,你...

    JFreeChart-简明教程

    本教程将通过一个简单的示例来介绍如何使用 JFreeChart 创建饼图并添加交互式链接。 **示例说明** 假设我们有针对程序员在北京、上海、广州三地的学历、开发语言和薪金的调查数据。我们的目标是首先用饼图展示...

    JfreeChart柱状图饼图

    在Java编程中,JFreeChart库是一个强大的图表绘制工具,它能够帮助开发者创建出多种类型的图表,包括柱状图、饼图等,广泛应用于数据分析和可视化展示。这篇博文中,我们将深入探讨如何使用JFreeChart来创建柱状图和...

    JFreeChart饼图、折线图等资料学习

    JFreeChart是一款强大的Java图形库,它允许开发者创建多种类型的图表,包括饼图、折线图、柱状图、散点图以及更多其他类型的图表。这个资料包包含了JFreeChart的核心库(jfreechart-1.0.16.jar)和其依赖库JCommon...

    java jfreechart 生成图形报表 饼图,条形图,曲线图

    在JFreeChart中,我们可以使用`PieChart`类来创建饼图。需要定义数据集,通常是`DefaultPieDataset`,然后创建`PiePlot`对象,将数据集设置到饼图上,最后将饼图添加到`JFreeChart`实例中。饼图的各个部分可以通过...

    java实现各种数据统计图(柱形图,饼图,折线图).zip

    使用JFreeChart创建饼图的基本步骤如下: 1. 创建`PieDataset`:存储每一块的数据,可以使用`DefaultPieDataset`或自定义实现。 2. 创建`JFreeChart`对象:调用`JFreeChart.createPieChart()`方法,传入图表标题和`...

    JfreeChart代码总结

    通过本文的讲解,我们对JFreeChart创建饼图的基本流程有了清晰的认识,并了解了一些自定义选项。然而,JFreeChart的功能远不止于此,它还支持更复杂的图表类型和丰富的定制功能。对于更深入的学习,建议查看官方文档...

    JFreeChart简单使用

    使用JFreeChart创建饼图,首先需要创建`PieDataset`,将数据以键值对的形式存储。然后,通过`PieChart`类的构造函数,传入数据集、标题以及是否显示百分比等参数,生成饼图。你可以自定义标签、颜色、阴影效果等。 ...

Global site tag (gtag.js) - Google Analytics