jFreeChart初探(静态应用)

系统 1888 0
 

初学JFreeChart,整理一个例子:(部分来自网页)

JFreeChart 它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。本文用的是JFreeChart 1.0.2 (根据版本不同需要根据类修改部分代码)下载:http://www.jfree.org/jfreechart/index.html

下载后解压jfreechart-1.0.2.zip,会发现在lib下有几个jar文件,本文只介绍生成饼图的例子:

1 ,首先将lib下的jcommon-1.0.5.jar和jfreechart-1.0.2.jar放到你的项目的lib下面,

2 ,然后建一个java类用于输出;

package com.chart.example;

import java.io.*;

import java.text.DecimalFormat;

import java.text.NumberFormat;

import org.jfree.data.*;

import org.jfree.data.general.DefaultPieDataset;

import org.jfree.chart.*;

import org.jfree.chart.labels.StandardPieSectionLabelGenerator;

import org.jfree.chart.plot.PiePlot3D;

/**

 * 用于演示饼图的生成

 * @author Winter Lau

 */

public class PieChartDemo {

     public static void main(String[] args) throws IOException{

         DefaultPieDataset data = getDataSet();

         JFreeChart chart = ChartFactory.createPieChart3D(" 分销商分布图", // 图表标题

         data,

         true, // 是否显示图例

         false,

         false

         );

         // 写图表对象到文件,参照柱状图生成源码

         FileOutputStream fos_jpg = null;

         try {

              fos_jpg = new FileOutputStream("D:\\client.jpg");

              PiePlot3D plot=(PiePlot3D)chart.getPlot();

              // 图片中显示百分比:默认方式

              //plot.setLabelGenerator(new StandardPieSectionLabelGenerat(StandardPieToolTipGenerator.DEFAULT_TOOLTIP_FORMAT));

              // 图片中显示百分比:自定义方式,{0} 表示选项, {1} 表示数值, {2} 表示所占比例 ,小数点后两位

              plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})", NumberFormat.getNumberInstance(), new DecimalFormat("0.00%")));

              // 图例显示百分比:自定义方式, {0} 表示选项, {1} 表示数值, {2} 表示所占比例

              plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})"));

              ChartUtilities.writeChartAsJPEG(fos_jpg,1.0f,chart,400,300,null);

         } finally {

              try {

                   fos_jpg.close();

              } catch (Exception e) {}

         }

     }

     /**

      * 获取一个演示用的简单数据集对象

      * @return

      */

     private static DefaultPieDataset getDataSet() {

         DefaultPieDataset dataset = new DefaultPieDataset();

         dataset.setValue(" 一级分销商",100);

         dataset.setValue(" 二级分销商",200);

         dataset.setValue(" 三级分销商",300);

         return dataset;

     }

}

运行后在你的d盘下会生成一个client.jpg,如下:

jFreeChart初探(静态应用)

jFreeChart初探(静态应用)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论