这个是柱状图的
后台代码:
@Action(value="init",results={ @Result(location = "/page/count/init.jsp") })
public String init() throws Exception{
setImages();
return ConstUtil.SUCCESS;
}
public void setImages()throws Exception{
DefaultCategoryDataset dataset = getDataSet();
JFreeChart chart = ChartFactory.createBarChart3D(
"水果产量图", //图表标题
"水果", //目录轴的显示标签
"产量", //数值轴的显示标签
dataset, //数据集
PlotOrientation.VERTICAL, //图表方向:水平、垂直
true, //是否显示图例(对于简单的柱状图必须是false)
false, //是否生成工具
false //是否生成URL链接
);
//解决乱码问题
setImageFont(chart);
HttpServletRequest req = (HttpServletRequest) (ActionContext
.getContext().get(ServletActionContext.HTTP_REQUEST));
String filename = ServletUtilities.saveChartAsPNG(chart, 400,
300, null, req.getSession());
ServletContext servlet = (ServletContext) (ActionContext.getContext()
.get(ServletActionContext.SERVLET_CONTEXT));
String imagePath_area = servlet.getContextPath() + "/servlet/DisplayChart?filename="
+ filename;
request.put("image", image);
}
/**
* 解决乱码问题
*/
private void setImageFont(JFreeChart chart){
CategoryPlot plot = (CategoryPlot) chart.getPlot();
CategoryAxis domainAxis = plot.getDomainAxis();
ValueAxis numberaxis = plot.getRangeAxis();
//设置标题文字
chart.getTitle().setFont(new Font("宋体", Font.BOLD,12));
//设置X轴坐标上的文字
domainAxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 11));
//设置X 轴的标题文字
domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
//设置Y 轴坐标上的文字
numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
//设置Y 轴的标题文字
numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
//设置底部文字
chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
}
/**
* 获取一个组合数据集对象
* @return
*/
private DefaultCategoryDataset getDataSet(){
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京", "苹果");
dataset.addValue(120, "上海", "苹果");
dataset.addValue(380, "广州", "苹果");
dataset.addValue(230, "北京", "梨子");
dataset.addValue(200, "上海", "梨子");
dataset.addValue(230, "广州", "梨子");
dataset.addValue(400, "北京", "葡萄");
dataset.addValue(300, "上海", "葡萄");
dataset.addValue(500, "广州", "葡萄");
return dataset;
}
这是饼状图的
public void cateImage() throws IOException {
DefaultPieDataset data = getDataSetcate();
JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", // 图表标题
data, true, // 是否显示图例
false, false);
setImageFont1(chart);
HttpServletRequest req = (HttpServletRequest) (ActionContext
.getContext().get(ServletActionContext.HTTP_REQUEST));
String filename = ServletUtilities.saveChartAsPNG(chart, 400, 300,
null, req.getSession());
ServletContext servlet = (ServletContext) (ActionContext.getContext()
.get(ServletActionContext.SERVLET_CONTEXT));
String cate = servlet.getContextPath()
+ "/servlet/DisplayChart?filename=" + filename;
request.put("image", image);
}
/**
* 解决乱码问题
*/
private void setImageFont1(JFreeChart chart) {
PiePlot pieplot = (PiePlot) chart.getPlot();
//设置标题的字体
chart.getTitle().setFont(new Font("宋体", Font.BOLD, 12));
//设置中间的字体
pieplot.setLabelFont(new Font("宋体", Font.PLAIN, 10));
//设置底部的字体
chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
}
/**
* 获取一个简单数据集对象
* @return
*/
private static DefaultPieDataset getDataSetcate() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("苹果", 100);
dataset.setValue("梨子", 200);
dataset.setValue("葡萄", 300);
dataset.setValue("香蕉", 400);
dataset.setValue("荔枝", 500);
return dataset;
}
页面代码:
<div class="pic">
<img src="${request.image}" >
</div>
分享到:
相关推荐
传统的一些以软件包形式发布应用程序例如报表系统等都在逐渐搬到因特网上。但是这两者之间有着天壤之别,虽然对于数据获取、业务处理等方面...因此我们下面将介绍一个JAVA的图表引擎JFreeChart用来产生基于WEB的图表。
jFreeChart展示web图表---五分钟上手
java web 图表jfreechart 是较好的开源图表框架,可以生成 曲线图、柱状图、饼状图、甘特图、雷达图、蜘蛛图等。
本文档主要讲述的是使用 JFreeChart来创建基于web的图表;JFreeChart是开放源代码站点SourceForge.net上的一个JAVA项目,它主要用来各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、...
本章主要介绍Java的历史及其运行机制、技术特点,讲解了各种Java开发环境的搭建,包括JDK的下载、安装和环境变量的设置,在EditPlus和...下面学习Java Applet的编写和调试,让我们一起进入Web图表编程的精彩世界!
NULL 博文链接:https://pointonline.iteye.com/blog/298256
应用服务器(Application Server)是运行Java企业组件的平台,在开发企业级的Web应用程序方面能提供更灵活强大的支持,构成应用软件的主要运行环境。当前主流的应用服务器是BEA公司的Weblogic Server和IBM公司的...
一种基于JFreeChart的Web统计图表.pdf.............
现在的《精通Java Web动态图表编程》大部分是网上订购,有一份电子word文档是不错的选择,本资源含有完整的资源,可不用麻烦的到处找。
使用 JFreeChart来创建基于web的图表
Jfreechart的基础图表用法与在web项目中调用
JFreeChartweb图表
使用JFreeChart来创建基于web的图表
用JFreeChart创建基于Web的图表.pdf
在Web图表开发领域也有两个主要的Web图表生成引擎——JFreeChart和Cewolf。它们都是开源作品,在Web图表引擎中占据了非常重要的位置。因为Cewolf的图表生成和渲染引擎实际是调用JFreeChart的图表生成及渲染引擎,...
使用 JFreeChart来创建基于web的图表_files