JFreeChart的用法简介

来源:互联网 发布:php字符串转数组 编辑:程序博客网 时间:2024/04/20 10:24

一、简介

           JFreeChartJAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。

          JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNGJPEG格式的输出,还可以与PDFEXCEL关联。


二、下载即jar包的导入

官方下载地址:

http://www.jfree.org/jfreechart/download.html

如果是开发Java应用程序只需导入:jfreechart-1.0.13.jar  和  jcommon-1.0.16.jar

如果是JavaWeb开发,并整合了struts2,则还需在struts/lib下导入struts2-jfreechart-plugin-2.3.4.jar


三、在struts2中使用JFreeChart的用例

1、绘制柱状图

BarGraphAction.java

package com.ahut.action;import org.jfree.chart.ChartFactory;import org.jfree.chart.JFreeChart;import org.jfree.chart.plot.PlotOrientation;import org.jfree.data.category.DefaultCategoryDataset;import com.opensymphony.xwork2.ActionSupport;public class BarGraphAction extends ActionSupport{private JFreeChart chart;public JFreeChart getChart() {DefaultCategoryDataset dcd = new DefaultCategoryDataset();//创建数据源dcd.setValue(1,"","科比");//设置数据源dcd.setValue(2,"","麦蒂");dcd.setValue(3,"","詹姆斯");//使用工厂类创建柱状图JFreeChart chart = ChartFactory.createBarChart3D("你最喜欢的NBA球星",//标题"投票选项",//目录轴的显示标签"投票数", //数值轴的显示标签dcd,//数据集PlotOrientation.VERTICAL ,//图标方向false, //是否显示图例(简单的柱状图必须是false)true,//是否生成工具false);//是否生成URL连接return chart;}public void setChart(JFreeChart chart) {this.chart = chart;}
        public String execute(){return SUCCESS;}
}

 

在struts.xml中进行如下配置:

<package name="struts2" extends="jfreechart-default"> <action name="barGraph" class="com.ahut.action.BarGraphAction"> <result name="success" type="chart"><!--以图表的形式显示--> <param name="width">400</param> <param name="height">300</param> </result> </action> </package>

完成以上两个部分后,在程序中,访问到barGraph,就会显示一个柱状图。

 

2、绘制饼图
BChartAction.java

 

package com.ahut.action;import org.jfree.chart.ChartFactory;import org.jfree.chart.JFreeChart;import org.jfree.data.general.DefaultPieDataset;import com.opensymphony.xwork2.ActionSupport;public class BChartAction extends ActionSupport{     private JFreeChart chart;public JFreeChart getChart() {     DefaultPieDataset defaultpiedataset = new DefaultPieDataset();//创建数据源     defaultpiedataset.setValue("管理人员",10.02D);//设置数据源     defaultpiedataset.setValue("市场人员",20.23D);     defaultpiedataset.setValue("开发人员",60.02D);     defaultpiedataset.setValue("OEM人员",10.02D);     defaultpiedataset.setValue("其他人员",5.11D);     chart =  ChartFactory.createPieChart("CityInfoPort公司组织架构图",defaultpiedataset,true,true,false);     return chart;}public void setChart(JFreeChart chart) {this.chart = chart;}                public String execute(){return SUCCESS;}}

在struts.xml中进行如下配置:

<action name="bChart" class="com.ahut.action.BChartAction"> <result name="success" type="chart"> <param name="width">400</param> <param name="height">300</param> </result> </action>

 

3、绘制折线图

ZChartAction.java

package com.ahut.action;import org.jfree.chart.ChartFactory;import org.jfree.chart.JFreeChart;import org.jfree.chart.plot.PlotOrientation;import org.jfree.data.category.DefaultCategoryDataset;import com.opensymphony.xwork2.ActionSupport;public class ZChartAction extends ActionSupport{private JFreeChart chart;public JFreeChart getChart() {DefaultCategoryDataset linedataset = new DefaultCategoryDataset();  //  各曲线名称  String series1 = "冰箱";  String series2 = "彩电";  String series3 = "洗衣机";   //    横轴名称(列名称)  String type1 = "1月";  String type2 = "2月";  String type3 = "3月";   linedataset.addValue(0.0, series1, type1);  linedataset.addValue(4.2, series1, type2);  linedataset.addValue(3.9, series1, type3);   linedataset.addValue(1.0, series2, type1);  linedataset.addValue(5.2, series2, type2);  linedataset.addValue(7.9, series2, type3);   linedataset.addValue(2.0, series3, type1);  linedataset.addValue(9.2, series3, type2);  linedataset.addValue(8.9, series3, type3);     chart = ChartFactory.createLineChart("折线图", // chart title    "时间", // domain axis label    "销售额(百万)", // range axis label    linedataset, // data    PlotOrientation.VERTICAL, // orientation    true, // include legend    true, // tooltips    false // urls    );return chart;}public void setChart(JFreeChart chart) {this.chart = chart;}public String execute(){return SUCCESS;}}

 

在struts.xml中进行如下配置:

<action name="zChart" class="com.ahut.action.ZChartAction"> <result name="success" type="chart"> <param name="width">400</param> <param name="height">300</param> </result></action>

原创粉丝点击