下载地址:http://www.javasp.net/jinxin/jinxin.rar (Sonic1.0)
本来可以用cwolf的。但是cwolf不能做统计。返照他的功能自己做了一个。觉得还不错。开发的时候省略了很多JFreeChart的东西。直接做一个连数据的CLASS就可以了。下面是开发指南,希望对要用JFREECHART的人有帮助。
优点:
简化了生成图形的繁琐代码,用TagLib封装了。只要数据对象就可以了
缺点:
只能生成饼图 和 柱图 其他图还没有做
Sonic Chart Tutorial
(First time user)
Put the following JAR files of the /lib directory into your web applications /WEB-INF/lib directory:
l Sonic. jar
l jfreechart-0.9.20.jar
l jcommon-0.9.5.jar
l Commons-logging. jar
You must add the following code to the web.xml file t o let yours project know the location of the TLDS
<servlet> |
Additionally you should provide a servlet-mapping to tell the container which URL maps to your sonic rendering servlet.
<servlet-mapping>
|
Additionally you should proide a taglib to tell container which URL to find sonic.tld
<taglib> <taglib-uri>/WEB-INF/sonic.tld</taglib-uri> <taglib-location>/WEB-INF/sonic.tld</taglib-location> </taglib> |
1.How to Create a PeChart DatasetProducer
l Createa a java file such ByUsingPeople_PieDB.java
Note:
1. In ByUsingPeople_PieDB.java file you must implements ProductDataSetInterface, Serializable
Below is ByUsingPeople_PieDB.java detail
import org.jfree.data.DefaultPieDataset;
import java.util.ArrayList;
import net.javasp.www.chartfactorymethod.creator.ChartCreatorInterface.ProductDataSetInterface;import java.io.Serializable;
public class IndustryGroupRequire implements ProductDataSetInterface, Serializable{
public ArrayList produceDataset() throws Exception {
// Create a DefaultPieDataset object
DefaultPieDataset ds = new DefaultPieDataset();
String total = null;
String percent = null;
ArrayList list = new ArrayList();
// The data which need set into DefaultPieDataset object
ds.setValue("第一产业比重", 36);
ds.setValue("第二产业比重", 24);
ds.setValue("第三产业比重", 20);
// Below chart show total info
String[] totalname = {"所占比重:", ""};
list.add(ds);
list.add("80"+"%");
list.add("");
list.add(totalname); //3
list.add("other"); //
return list;
}
}
1. Create a jsp file such as piechart.jsp
Note:
1. The taglib sonic attribute must same to <jsp useBean id> attribute Such as <sonic:plotchart id=”pieData” …> and <jsp:useBean id=”pieData” …>
2. type="piechart" type attribute must be “piechart”
Below is piechart.jsp detail
piechart.jsp
<%@ page contentType="text/html; charset=GB2312" %>
<%@taglib uri='/WEB-INF/sonic.tld' prefix='sonic' %>
<jsp:useBean id="pieData" class=" net.javasp.www.piechartdataset.ByUsingPeople_PieDB "/>
<html>
<head>
<title>
按行业分组的需求人数
</title>
</head>
<body bgcolor="#ffffff">
<div align="center">
<sonic:plotchart id="pieData" type="piechart" name="按行业分组的需求人数" hight="700" width="700" />
</div>
</body>
</html>
2.How to Create a Column Chart DatasetProducer
Note:
l Createa a java file such SupplyTotalCount.java
In ByUsingPeople_PieDB.java file you must implements ProductDataSetInterface, Serializable
import net.javasp.www.chartfactorymethod.creator.ChartCreatorInterface.ProductDataSetInterface; import java.io.Serializable;
import java.util.ArrayList;
import org.jfree.data.CategoryDataset;
import org.jfree.data.DatasetUtilities;
/**
* <p>Title: Colum3DproduceDataset</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: www.javasp.net</p>
* @author Jstar
* @version 1.0
*/
public class SupplyTotalCount implements ProductDataSetInterface, Serializable {
public SupplyTotalCount() {
}
public ArrayList produceDataset() throws Exception {
int total = 0;
int percent = 0;
ArrayList list = new ArrayList();
//---------------------------------需求人数-----求职人数
double[][] date = new double[][] {{322, 261}, {128, 240}};
String[] rowKeys = {"上期结转", "本期新增"};
String[] columnKeys = {"需求人数", "求职人数"};
String[] totalname = {"需求人数", "求职人数"};
CategoryDataset ds = DatasetUtilities.createCategoryDataset(rowKeys,columnKeys, date);
//total
for (int i = 0; i < 1; i++) {
for (int j = 0; j < date.length; j++) {
total += date[j][i];
}
}
//percent
for (int a = 1; a < 2; a++) {
for (int b = 0; b < date.length ; b++) {
percent += date[b][a];
}
}
list.add(ds);//0
list.add(Integer.toString(total));//1
list.add(Integer.toString(percent));//2
list.add(totalname);//3
list.add("other");//4
return list;
}
}
2. Create a jsp file such as columnchart.jsp
Note:
3. The taglib sonic attribute must same to <jsp useBean id> attribute Such as <sonic:plotchart id=” columndata” …> and <jsp:useBean id=” columndata” …>
4. type=" columndata " type attribute must be “columndata”
Below is piechart.jsp detail
piechart.jsp
<%@ page contentType="text/html; charset=GB2312" %>
<%@taglib uri='/WEB-INF/sonic.tld' prefix='sonic' %>
<jsp:useBean id="columndata " class=" net.javasp.www.columndataset.SupplyTotalCount "/>
<html>
<head>
<title>
供求总体人数
</title>
</head>
<body bgcolor="#ffffff">
<div align="center">
<sonic:plotchart id=" columndata " type=" columchart " name="供求总体人数" width="500" hight="350 " />
</div>
</body>
</html>