/**
*
*<p>Title: geCustomeCurrentFee</p>
*<p>Description:TODO 得到当前话费</p>
* @param @param mobileTeleNo
* @param @return 设定文件
* @return String 返回类型
* @throws
*/
public String getTopWorkSummaryData(){
String mobileTeleNo=HttpUtil.getParameter("mobileTeleNo");
HttpServletResponse response= ServletActionContext.getResponse();
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
response.setContentType("text/html; charset=GBK");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
try{
if(LoginUtil.getUserInfo()==null){
logger.debug("Session已失效!");
PrintWriter writer= response.getWriter();
writer.print("Session已失效,请重新登陆!");
response.flushBuffer();
return null;
}
try{
session.removeAttribute("JFreeChart_Deleter");
JFreeChart chart = createTopWorkSummaryDataChart(mobileTeleNo);
String filename = ServletUtilities.saveChartAsPNG(chart, 265, 180, null, session);//宽度,长度
String graphURL = graphURL = request.getContextPath()+ "/servlet/DisplayChart?filename=" + filename;
PrintWriter writer= response.getWriter();
writer.print(graphURL);
response.flushBuffer();
} catch (IOException e1) {
logger.error(e1.getMessage());
return "";
}
}catch(Exception e){
try {
PrintWriter writer= response.getWriter();
writer.print("保存数据失败!");
response.flushBuffer();
return null;
} catch (IOException e1) {
logger.error(e.getMessage());
return "";
}
}
return null;
}
private JFreeChart createTopWorkSummaryDataChart(String mobileTeleNo) throws Exception{
JFreeChart chart = null;
DefaultCategoryDataset dataset = this.createTopWorkSummaryData(mobileTeleNo);
if(dataset != null){
chart = ChartFactory.createBarChart3D("", "", "", dataset, PlotOrientation.VERTICAL, true, false, false);
chart.setBackgroundPaint(Color.WHITE);
chart.setBackgroundImageAlpha(0.9f);
CategoryPlot plot = chart.getCategoryPlot();
/*
ValueAxis rangeAxis = plot.getRangeAxis();
//设置最高的一个 Item 与图片顶端的距离
rangeAxis.setUpperMargin(0.35);
//设置最低的一个 Item 与图片底端的距离
rangeAxis.setLowerMargin(0.45);
//设置Y轴的最小值
//rangeAxis.setLowerBound(0);
//设置Y轴的最大值
// rangeAxis.setUpperBound(800); */
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setAxisLineVisible(false);
NumberAxis numberaxis = (NumberAxis) plot.getRangeAxis();
TextTitle textTitle = chart.getTitle();
textTitle.setFont(new Font("黑体", Font.PLAIN, 20));
domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
plot.setDomainAxis(domainAxis);
BarRenderer3D renderer = new BarRenderer3D();
renderer.setBaseOutlinePaint(Color.WHITE);
// 显示每个柱的数值,并修改该数值的字体属性
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
// 设置每个地区所包含的平行柱的之间距离
renderer.setItemMargin(0.1);
// 设置柱的数值可见
renderer.setBaseItemLabelsVisible(true);
// 显示每个柱的数值,并修改该数值的字体属性
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelsVisible(true);
renderer.setShadowVisible(false);
plot.setRenderer(renderer);
// 设置柱的透明度
plot.setForegroundAlpha(0.8f);
}
return chart;
}
private DefaultCategoryDataset createTopWorkSummaryData(String mobileTeleNo) throws Exception {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
InitiaWorkbenchManager workbenchManager=(InitiaWorkbenchManager)DefaultBeanFactory.getBean(InitiaWorkbenchManager.BEAN_NAME);
String[] results=new String[]{"AGREE"};
List<AgentWorkCountBean> gentWorkCountList=workbenchManager.queryTopWorkSummary(results,5);
if(!gentWorkCountList.isEmpty()&&gentWorkCountList.size()>0){
for(int i=0;i<gentWorkCountList.size();i++){
AgentWorkCountBean bean=gentWorkCountList.get(i);
String userCode=gentWorkCountList.get(i).getUserCode();
String userName=userCode+"["+UserCacheUtil.getUserName(userCode)+("]");
int agreeCount=gentWorkCountList.get(i).getAgreeCount();
dataset.addValue(agreeCount, userName, userCode);
}
}
return dataset;
}
分享到:
相关推荐
虽然现在JS做报表和图形展示已经非常普遍和漂亮了,但是不能忽略有jfreechart 这样一种东西! 这些翻阅资料,在看以前写的示例时发现了关于jfreechart 的简单示例,不管怎样发上来分享一下!
jfreechart 折线图、饼状图、柱状图在web页面上的应用,自己在网上找到点资料,然后写了个示例。 导入的myeclipse中部署即可。
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联
java实现向word文档中插入柱状图,并更改颜色。 将docx转化为xml文件在进行操作
jfreechart图表的完整工程例子(含中文乱码处理和百分比),里面有饼图和柱状图的示例,加有注释,并解决了中文乱码显示问题,和饼图中百分比问题
通过freemarker,实现word模板中占位符的赋值以及赋值后的word文档生成。通过jfreechart生成柱状图和饼图,并在word文档中显示。
jfreechart的饼形图、柱形图实例 解决jfreechart中的乱码问题
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。...
JfreeChart Demo示例,其中示例分别实现了,柱状图和饼图,而至于在Jsp页面中显示出对应生成的图片还在学习中,即将放送。
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。...
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、 散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生 PNG和JPEG格式的输出,还可以与PDF和EXCEL...
本示例是过去接触jfreechart时查找的资料。原著的地址忘记了,先在此表示感谢。个人觉得这个示例写得不错。注释比较详细。对初次接触jfreechart的人很有帮助。本例只是jfreechart比较简单的应用,可以帮助理解思想。...
jfreechart示例,可直接引入项目,适合初次接触jfreechar的朋友,可生成柱状图,饼状图,折线图
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
struts2和jfreechart集成的一个小示例,带jar包,部署起来就可以运行。例子中演示了一个生成柱状图的方法。
tomcat运行后可看到简单的饼形图和柱状图。运行DemoTest/RealTimeChart可看到即时曲线图示例。本来这些应资源共享,可下载别人好东西时需要积分,所以设置为1分。希望大家可以互相交流java技术!
JFreeChart基本使用及学习文档,包含了柱状图、饼状图、曲线图统计的例子。适合简单使用和初期学习,最后一句建议,在web展示图片的时候注意客户单IE缓存的问题。