今天闲来无事,看了点JfreeChart的中文教程。简单的柱状图。作为自己备忘。
/**
* 选项卡界面查询
* @return
* @throws Exception
*/
@Action(value = "cnindexquery", results = { @Result(location = "/page/userpercept/corenetwork/cnindexqueryMore.jsp") })
public String cnindexquery() throws Exception {
Map<String,String> dateMap=(Map<String,String>)session.get("dateMap");
//查询表
if(dateMap!=null){
//无关代码略
List<CnIndexCallCtrlData> list = ccDao.findCnIndexCallCtrlInfoByCondition(form);
String title="核心网呼叫控制";
String xName="时间范围";
String yName="呼叫占用次数";
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for (CnIndexCallCtrlData cnIndexCallCtrlData : list) {
dataset.addValue(cnIndexCallCtrlData.getSEIZE_COUNT(), "",
cnIndexCallCtrlData.getSTARTTIME()+"~"+cnIndexCallCtrlData.getENDTIME());
}
JFreeChart chart = ChartFactory.createBarChart3D(
title, // 图表标题
xName, // 目录轴的显示标签
yName, // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
chart=setChartCode(chart);//解决乱码
String img=createImage(chart);//生成web报表
System.out.println(img);
request.put("img", img);
}
return ConstUtil.SUCCESS;
}
/**
* 生成web报表
* @param chart
* @return
* @throws IOException
*/
public String createImage(JFreeChart chart) throws IOException{
HttpServletRequest req = (HttpServletRequest) (ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST));
String filename = ServletUtilities.saveChartAsPNG(chart, 800, 500,null, req.getSession());
ServletContext servlet = (ServletContext) (ActionContext.getContext().get(ServletActionContext.SERVLET_CONTEXT));
return servlet.getContextPath() + "/servlet/DisplayChart?filename="+ filename;
}
/**
* 解决乱码问题
* @param chart
* @return
*/
public JFreeChart setChartCode(JFreeChart chart){
/*------解决了汉字乱码的问题-----------*/
CategoryPlot categoryplot = (CategoryPlot) chart.getPlot();
NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
CategoryAxis domainAxis = categoryplot.getDomainAxis();
//设置标题的文字
chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 20));
//设置X轴坐标上的文字
domainAxis.setTickLabelFont(new Font("sans-serif", 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 chart;
}
分享到:
相关推荐
JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...
public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--begin 维优特例 --> ...
JFreeChart柱状图的详细说明,教你怎么样自定义图形报表 应用到自己的项目上
利用jfreeChart开发的饼图、柱状图、线图小案例,结合itext页面pdf展示,适合入门学习。
利用JFreeChart和struts框架实现一个一个3D柱形图的报表功能
JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领...
项目下载之后可以直接运行,里面包含常见的柱状图、pie型图 折线图,温度计,秒表等格式。
JFreeChart生成报表Demo案例,包含生产饼状图(3D效果),柱状图(3D效果),折现图等(3D效果)。及其所需的Jar包。
可以绘制各种图形报表,前段时间在项目中用到了,挺不错的。图形的效果真的不错哦,可以绘制饼图,柱状图,以及各种不规则图形等等。里面有很多实例和源码,希望能为你带来帮助。
下载之后立刻就能运行,至此柱状图,饼形图,折线图....
这是一款免费的JAVA生成报表的工具,里面有柱状图、饼状图、折线图的Demo简单易学
这个项目只针对与初次接触JFreeChart或者想用JFreeChart制作简单的图形报表的朋友们,项目里只写了饼状图、柱状图、折线图的实现,想要具体学习JFreeChart可以参考官方文档,我也是照着官方文档写的。
虽然现在JS做报表和图形展示已经非常普遍和漂亮了,但是不能忽略有jfreechart 这样一种东西! 这些翻阅资料,在看以前写的示例时发现了关于jfreechart 的简单示例,不管怎样发上来分享一下!
深入探究JFreeChart(图表报表实用教材) 深入探究JFreeChart(图表报表实用教材) 深入探究JFreeChart(图表报表实用教材)
jfreechart 折线图、饼状图、柱状图在web页面上的应用,自己在网上找到点资料,然后写了个示例。 导入的myeclipse中部署即可。
1. JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过...
使用myEclipse6.0.1工具开发的简单使用jfreechart报表插件.包括jsp页面调用显示报表.
很详细的JFreeChart教程、JFreeChart报表、wsChart图表组件、柱状图、饼图、折线图、柏拉图、单柱图、波形图、
jfreechart使用SqlServer2000做的饼状图,柱状图,折线图。 最近在学习jfreechart,根据网上的资料做了这3个小例子,学习用的,代码有点乱!
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。