刚刚学会怎么弄的。。也不是很熟悉,O(∩_∩)O哈哈~。。
总结下,web生成的图片的方式,
第一,使用servlet;返回图片到界面;
第二,生成图片到某个目录,界面引用图片路径
使用 JFreeChart 生成饼图(使用第二种):
/**
* 生成jFreeChart图片
* @param i -- 生成图片的名称
* @param arr --生成饼图需要的数据
* @author yangpanwww
* @throws Exception
*/
public static void creatPieChat3D(int i,String [] arr) throws Exception{
// 创建pie图的数据集方法
DefaultPieDataset data = PieChart3DTools.getPieDataSet(arr);
JFreeChart chart = ChartFactory.createPieChart3D("", data, true,false, false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
// 饼图分块的颜色
plot.setSectionPaint(0, Color.RED); //红牌
plot.setSectionPaint(1, Color.yellow);
plot.setSectionPaint(2, Color.white);
if (null != chart) {
// 将图片对象输出到客户端
OutputStream ous = new FileOutputStream(projPath+"index_img/"+i+".png");
ChartUtilities.writeChartAsPNG(ous, chart, 500, 300);
}
}
生成图片数据集的工具类:
/**
* 生成图片数据集的工具类:
* @author yangpanwww
*/
class PieChart3DTools {
/**
* 创建用于填充pie图的数据集
* @return DefaultPieDataset对象
*/
public static DefaultPieDataset getPieDataSet(String [] szjc) {
// 用来填充pie图的数据集
DefaultPieDataset dataset = new DefaultPieDataset();
// 饼图分块名字
String[] seriesNames = { "红牌", "黄牌", "白牌"};
for (int i = 0; i < seriesNames.length; i++) {
// 设置pie数据集中的数据对
dataset.setValue(seriesNames[i], Integer.parseInt(szjc[i]));
//dataset.
}
return dataset;
}
使用 JFreeChart 生成柱状图(第一种):
<script type="text/javascript">
var disabledImageZone=document.getElementById("displayChart");
//清理div中己有的东东:)
disabledImageZone.innerHTML="";
var imageZone = document.createElement('img');
imageZone.setAttribute('id','imageZone');
//提取服务器上的图片显示下来:
imageZone.setAttribute('src',"servlet/ChartServlet");
imageZone.width = "650"; //返回后的图片大小
imageZone.height = "132";
disabledImageZone.appendChild(imageZone);
</script>
servlet代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 输出图片格式为png格式
response.setHeader("Cache-Control", "no-cache");
response.setContentType("image/png");
JFreeChart chart = null;
// 创建bar图的数据集方法
DefaultCategoryDataset dataset = ChartTools.getCategoryDataset(jdbctemplate,request);
// PlotOrientation.HORIZONTAL这个参数说明是水平还是垂直方向VERTICAL
chart = ChartFactory.createBarChart3D("", "", "",dataset, PlotOrientation.VERTICAL, true, false, false);
if (null != chart) {
// 将图片对象输出到客户端
java.io.OutputStream ous = response.getOutputStream();
ChartUtilities.writeChartAsPNG(ous, chart, 650, 132);
ous.flush();
ous.close();
System.out.println("***********图片输出完毕....... " );
}
}
}
工具类
/**
* 生成图片数据集的工具类:
* @author yangpanwww
*/
class ChartTools {
/**
* 生成bar图的数据集:
* @return:可用于Bar图的数据集
*/
public static DefaultCategoryDataset getCategoryDataset(JdbcTemplate jdbctemplate,HttpServletRequest request) {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
//存储 各个 数据类型 的bean
for (int series = 0; series < seriesLxs.length; series++) {
for (int i = 0; i < seriesNames.length; i++) {
nameValueOfTime[series][i] = jdbctemplate.queryForInt("写您需要的SQL");//你也可以在外面查询好,再传进来
//System.out.println(nameValueOfTime[series][i]+" "+seriesNames[i]+" "+seriesLxs[series]);
dataset.addValue(nameValueOfTime[series][i], seriesNames[i],seriesLxs[series]);
}
}
return dataset;
}
private ChartTools(){};
/** X轴时间维数据序型(当然也可以为标签维度)* */
private static String[] seriesLxs = { "行政许可", "行政处罚", "其 他"};
private static String[] seriesLxvalue = { "XK", "CF", "QT"};
/** 柱状标签序列(比如做为地点序列) */
private static String[] seriesNames = { "新增", "修改", "废止" };
//新增 修改 废止
private static String[] seriesValues = { "1", "2", "3" };
/** 每个时间点上每个地区/类型序列的值 */
private static int[][] nameValueOfTime = new int[seriesLxs.length][seriesNames.length];
}
O(∩_∩)O哈哈~。。。我之所以能很快上手。。我得谢谢 javafound 大哥
你们链接到他博客吧,他那有包下载:http://www.iteye.com/topic/170642
分享到:
相关推荐
jfreechat生成柱状图,饼状图,折线图,导出饼状图到pdf,excel.
博文链接:https://clarancepeng.iteye.com/blog/117447
jfreechart生成各种图表 柱状 饼状 折线 锥状
jfreechart生成柱状图、折线图、饼状图等各种图形使用的jar包
JFreeChart生成柱形图完整测试代码 放在普通项目里运行main方法就能生成柱形图 不需要添加任何代码 可根据自己需要修改参数
jfreechart 生成折线图,饼图,柱状图,堆栈柱状图
JFREECHART柱图
flex jfreechart生成 饼状图 flex jfreechart生成 柱状图 flex jfreechart生成 曲线图 flex jfreechart生成 曲线图
源文件 博文链接:https://lansky07.iteye.com/blog/227571
JSP利用JFreeChart生成折线图,文档中包含所需jar包,共有四个例子,导入即可运行,内附有说明
java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图
Jfreechart生成图表的一个例子,能生成柱状图、饼状图、线状图,代码有详细的注释,很适合初学者学习。
JFreeChart生成饼图
大家好:附件中是myeclipse工程,直接引入myeclipse就可以运行在浏览器看到效果了。谢谢。
用JFreeChart写的雷达图实例,详细的实现方法。可以看到效果。
JFreeChart生成3D饼状图及柱状图,可把图片生成在指定文件目录下
jfreeChart生成的线状图,饼状图,柱状图
1、JFreeChart生成图片路径教程 2、JFreeChart使用教程(含下载安装,超详细) 3、JFreeChart使用详细教程 4、JFreeChart学习--jsp柱状图教程 5、JFreeChart乱码解决方法 等等 包括csdn上得优秀案例 ------20+M的...
java+jfreechart+struts 生成柱状图 java jfreechart 柱状图 java jfreechart 柱状图 谁需要完整项目可以去http://download.csdn.net/source/2665347