`
ly102289
  • 浏览: 11119 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

java技术 jfreechart

阅读更多
原创  struts2.1.8.1+JFreeChart -1.0.13 的整合之-----教复杂的柱状图 收藏

import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

public class BarChart3DDemo {

public static void main(String[] args) throws IOException
{
  JFreeChart chart = ChartFactory.createBarChart3D(
    "图书销售统计图",  //标题
    "图书",          //横轴
    "销量",          //纵轴
    getDataSet(),
    PlotOrientation.VERTICAL,
    true,
    false,
    false);
  //重新设置图表标题,改变字体
  chart.setTitle(new TextTitle("图书销售统计图",new Font("黑体",Font.ITALIC,22)));
  //取得统计图表的第一个图例,并修改图例的字体
  LegendTitle legend = chart.getLegend(0);
  legend.setItemFont(new Font("宋体",Font.ITALIC,14));
 
  CategoryPlot plot = (CategoryPlot)chart.getPlot();
  //取得横轴
  CategoryAxis categoryAxis = plot.getDomainAxis();
  //设置横轴显示标签的字体
  categoryAxis.setLabelFont(new Font("宋体",Font.BOLD,22)); //设置横轴的标签(字体)
  //分类标签以45度角倾斜
  categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
  categoryAxis.setTickLabelFont(new Font("宋体",Font.BOLD,18)); //设置横轴的每个柱子的标签(字体)
  //取得纵轴
  NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
  //设置纵轴显示标签的字体
  numberAxis.setLabelFont(new Font("宋体",Font.PLAIN,22));//设置纵轴的标签(字体)
  //输出到图片文件
  FileOutputStream fos = null;
  fos = new FileOutputStream("bar3D1.jpg");
  //将统计图表输出成JPG文件
  ChartUtilities.writeChartAsJPEG(fos, 1, chart, 800, 600); //输出并生成文件到当前文件目录下
  fos.close();
}

private static CategoryDataset getDataSet()
{
  //提供创建统计图表的数据
  DefaultCategoryDataset dataset = new DefaultCategoryDataset();
  dataset.addValue(45000, "北京", "疯狂JAVA讲义");
  dataset.addValue(38000, "北京", "轻量级JAVA EE企业实战");
  dataset.addValue(24000, "北京", "疯狂AJAX讲义");
  dataset.addValue(32000, "北京", "STRUTS 2权威指南");
  dataset.addValue(21000, "北京", "疯狂XML讲义");
  dataset.addValue(37000, "上海", "疯狂JAVA讲义");
  dataset.addValue(36000, "上海", "轻量级JAVA EE企业实战");
  dataset.addValue(34000, "上海", "疯狂AJAX讲义");
  dataset.addValue(42000, "上海", "STRUTS 2权威指南");
  dataset.addValue(12000, "上海", "疯狂XML讲义");
  dataset.addValue(42000, "广州", "疯狂JAVA讲义");
  dataset.addValue(40000, "广州", "轻量级JAVA EE企业实战");
  dataset.addValue(34000, "广州", "疯狂AJAX讲义");
  dataset.addValue(18000, "广州", "STRUTS 2权威指南");
  dataset.addValue(26000, "广州", "疯狂XML讲义");
  return dataset;
}
}

效果图为:

忘了加数字了,呵呵

在加一下:

//让柱子上显示数值的方法---begin
  BarRenderer renderer = new BarRenderer();
  renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());  
        renderer.setBaseItemLabelsVisible(true);
        plot.setRenderer(renderer);
        //让柱子上显示数值的方法---end

添加在fos前面即可

效果图为:

其实呢:

也可以这样来获取DataSet,并生成JFreeChart实例

public  JFreeChart getChart(){
   double[][] data = new double[][]
                                  {
            getLastScore(),
                                  getScore()                               
                                 };

         String[] rowKeys = {this.getLastYear()+"年",this.getThisYear()+"年"};

         String[] columnKeys = { "一月", "二月", "三月", "四月", "五月","六月",
               "七月", "八月", "九月", "十月", "十一月","十二月"};
      CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);

   JFreeChart chart = ChartFactory.createBarChart3D("营业厅检查记录柱状图", "月份", "历史检查成绩", dataset, PlotOrientation.VERTICAL, true, true, false);    
      return chart;
  }

文章来源:http://blog.csdn.net/aiouwen521/archive/2010/11/24/6033117.aspx
分享到:
评论

相关推荐

    java中关于JFreeChart实现实时曲线图

    在Java编程语言中,利用JFreeChart库实现实时曲线图是一种常见的数据可视化技术,尤其适用于需要实时监控或展示数据变化的应用场景。JFreeChart是一个开源的Java图表库,提供了丰富的图表类型和自定义选项,使得...

    java报表jfreechart开发

    ### Java报表JFreeChart开发知识点总结 #### 1. 简介 ##### 1.1 什么是JFreeChart JFreeChart是一款免费且开源的Java图表库,它提供了多种类型的图表绘制功能,如饼图、条形图、折线图等。JFreeChart适用于各种Java...

    Java报表之JFreeChart视频教程 java1234出品

    本教程由 java1234 出品,旨在帮助Java开发者掌握 JFreeChart 的使用,通过视频形式深入浅出地讲解关键概念和技术。 JFreeChart 的核心功能包括: 1. **图表类型**:JFreeChart 支持多种图表类型,如柱状图(Bar...

    java中的报表(jfreeChart原创)

    对于大数据集,JFreeChart 支持缓存和延迟渲染技术,以提高性能和响应速度。 9. **学习资源**: 开发者可以参考 JFreeChart 官方文档、示例代码以及社区论坛,获取详细的使用指南和常见问题解答。 10. **拓展...

    java+jfreechart 做股票日线数据查看系统

    标题中的“java+jfreechart 做股票日线数据查看系统”表明这是一个使用Java编程语言,结合JFreeChart库来实现的项目,主要用于展示股票的日线数据,即每日的开盘价、收盘价、最高价、最低价以及交易量等关键信息。...

    JSP调用Java Bean在网页上动态生成柱状图.zip_jfree java_jfreechart_jsp_图 jsp_网

    这个项目“JSP调用Java Bean在网页上动态生成柱状图.zip”提供了一种实现这一功能的方法,它利用了JFreeChart库,使得在Java Servlets或JSP页面上生成图表变得更加简单。以下是对这个项目及其关键组成部分的详细解释...

    基于JAVA的JfreeChart在Internet共享系统中的应用.pdf

    引入JfreeChart能够很好地解决这些问题,并且支持图表的共享和在线更新,为基于JSP(Java Server Pages)动态网页技术的图表生成提供了一个高效的解决方案。 #### Applet的安全性和局限性 1. **安全性问题**: - ...

    Java报表之JFreeChart视频教程源码.rar_java 报表_jfreechart

    Java报表技术在软件开发中扮演着重要角色,用于数据可视化和信息传递。JFreeChart是一个强大的开源库,专为Java平台设计,用于生成各种图表,包括柱状图、饼图、线图、散点图、甘特图等。本教程通过一系列视频和源码...

    JFreeChart生成图片并显示

    JFreeChart是一个强大的开源Java库,它提供了丰富的图表生成功能,可以满足开发者在各种应用场景下的需求。这篇博文将深入探讨如何使用JFreeChart生成图片并将其在Web应用中显示。 首先,我们需要了解JFreeChart的...

    jfreechart技术研究文档

    标题:JFreeChart 技术详解 JFreeChart 是一款强大的 Java 图表库,由 JFreeChart 公司开发并开源在 SourceForge.net 上。这个库包含了 JFreeReport(报表解决方案)、JFreeChart(Java 图形解决方案)、JCommon...

    JFreeChart画图

    **JFreeChart** 是一个Java库,用于生成高质量的图表,包括曲线图、柱状图、折线图、饼图以及甘特图等。它在Java应用和Web应用中广泛使用,尤其是对于数据可视化和报告生成。JFreeChart库不仅支持静态图表,还能够...

    JFreeChart

    通过以上的介绍,我们可以看到 JFreeChart 作为一个强大的图表库,可以有效地帮助我们进行数据可视化,而结合 SNMP 技术,可以进一步获取网络设备的实时状态,为监控和管理提供直观的展示手段。在实际开发中,这两个...

    JFreeChart -- web图表生成源码.zip_JfreeChart web_java web_jfreechart_w

    3. **兼容性**:JFreeChart 可以在 Java SE 和 Java EE 环境下运行,与 Swing、AWT、JavaServer Faces (JSF) 和 Servlets 等技术无缝集成。 4. **动态更新**:可以实时更新图表,适应动态数据变化,如股票价格、...

    JfreeChart1.5.0

    **JFreeChart 1.5.0:Java 开源图表库详解** JFreeChart 是一个广泛使用的 Java 图形库,其版本1.5.0 提供了丰富的图表绘制功能,适用于各种应用程序,包括桌面应用、Web 应用以及服务器端应用。这个开源项目自2001...

    jFreeChartDemo

    jFreeChart是一个强大的Java图表库,它提供了多种类型的图表,包括折线图、柱状图、饼图、散点图、甘特图以及复杂的3D图表等。这个库广泛应用于报表、数据分析、监控系统等领域,因为它能够帮助开发者轻松地在应用...

    jfreechart开发文档

    JFreeChart有一个活跃的开发者社区,提供技术支持和更新。遇到问题时,可以在官方论坛或Stack Overflow上寻求帮助,通常会有经验丰富的用户给出解答。 总之,JFreeChart是一个强大而灵活的Java图表库,通过深入...

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    7. **与其他技术集成**:作为Java库,JFreeChart 可以方便地与Spring、Struts等框架集成,也可以在Servlet或JSP中使用,生成图表动态网页。你可以在Web应用中调用这些服务方法,生成图表并以图像格式返回给客户端。 ...

    java jfreechart股票时序图,实现从文件中读取数据并显示

    在Java编程环境中,JFreeChart库是一个强大的工具,用于创建各种复杂的图表,包括股票时序图。本项目将介绍如何利用JFreeChart库从文本文件中读取股票数据,并将其可视化为时序图,这对于数据分析和展示至关重要。...

    applet_+_JfreeChart_实现曲线走势图

    JFreeChart是Java的一个强大的图形库,它提供了丰富的图表类型,包括线图、柱状图、饼图等,非常适合用于数据可视化。本项目结合Applet和JFreeChart,目的是实现在网页上动态展示曲线走势图。 首先,理解Applet的...

Global site tag (gtag.js) - Google Analytics