`
chengyue2007
  • 浏览: 1493515 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

JFreeChart对常见图表的处理

    博客分类:
  • java
阅读更多

通过三天的学习,终于完成了对JFreeChart的理解,我认为学习JFreeChart图表时必须理解几个概念,这样你使用起来会如鱼得水。即图表对象(由JFreeChart的引擎来负责生成);数据源(用来填充图表对象);Plot对象(负责图表对象的现实区域,即该图标显示的多大,背景色等);render对象(该对象的主要用处来来渲染图表对象)。下面就以几个最常用的图标为例,分别讲解在每个图表中具体由什么负责:

1.饼状图

JFreeChart chart = ChartFactory. createPieChart(String title, // 图标题

                          PieDataset dataset,       // 数据源

                          boolean legend,         // 是否显示图例

                          boolean tooltips,         // 是否显示tooltip

                          boolean urls) ;          // 是否指定url

平面饼状图的Plot对象是PiePlot类型。PiePlot对象没有x轴对象、y轴对象、绘制单元对象,数据源是PieDataset对象。

获取PiePlot对象操作为:

PiePlot plot = (PiePlot) chart.getPlot();

获取数据源:

PieDataset dataset= plot .getDataset();

饼状图可以接受一切 PieDataset 类型的数据源,下面讲解一下常用的 PieDataset 类型 DefaultPieDataset 的使用方式

实例化:DefaultPieDataset dataset = new DefaultPieDataset();

2.柱状图

  JFreeChart chart = ChartFactory.createBarChart(

                      String title,                 // 图标题

                String categoryAxisLabel,     //x 轴标题

                String valueAxisLabel,       //y 轴标题

                CategoryDataset dataset,      // 数据源

                PlotOrientation orientation,    // 显示方向

                 boolean legend,             // 是否显示图例

                 boolean tooltips,            // 是否显示 tooltip

                 boolean urls)             // 是否指定 url

平面柱状图的 Plot 对象是 CategoryPlot 类型。 CategoryPlot 对象的 x 轴是 CategoryAxis 对象, y 轴是 NumberAxis 对象,绘制单元是 BarRenderer 对象,数据源是 CategoryDataset 对象。

获取 CategoryPlot 对象操作为:

CategoryPlot plot = ( CategoryPlot ) chart.getPlot(); 或者

CategoryPlot plot = chart.getCategoryPlot();

获取绘制单元操作:

       BarRenderer renderer = (BarRenderer) plot.getRenderer();

获取 x 轴的操作:

CategoryAxis xAxis = ( CategoryAxis ) plot.getDomainAxis();

获取 y 轴操作:

NumberAxis yAxis = (NumberAxis) plot.getRangeAxis();

获取数据源:

CategoryDataset dataset=plot.getDataset();

       柱状图可以接受一切 CategoryDataset 类型的数据源,下面讲解一下常用的 CategoryDataset 类型 DefaultCategoryDataset 的使用方式

实例化:DefaultCategoryDataset dataset = new DefaultCategoryDataset();

增加数据

dataset .addValue(double value, Comparable rowKey, Comparable columnKey) ;

 

3.线状图

    JFreeChart chart = ChartFactory. createLineChart(String title,  // 图标题

                         String categoryAxisLabel,         //x 轴标题

                         String valueAxisLabel,            //y 轴标题

                         CategoryDataset dataset,           // 数据源

                         PlotOrientation orientation,         // 显示方向

                         boolean legend,                 // 是否显示图例

                         boolean tooltips,                 // 是否显示 tooltip

                         boolean urls);                  // 是否指定 url

平面线图除了的 Plot 对象中绘制单元对象是 LineAndShapeRenderer 对象,其他一切组成对象与平面柱状图相同。

获取 Renderer 操作:

LineAndShapeRenderer renderer=(LineAndShapeRenderer) plot.getRenderer();

 

4.时序图

   JFreeChart chart = ChartFactory.createTimeSeriesChart(

              String title,    // 图标题

                 String timeAxisLabel,   //x 轴标题

                 String valueAxisLabel,  //y 轴标题

                 XYDataset dataset,       // 数据源

                 boolean legend,          // 是否显示图例

                 boolean tooltips,        // 是否显示 tooltip

                 boolean urls);           // 是否指定 url

时序图的 Plot 对象是 XYPlot 类型。 XYPlot 对象的 x 轴是 DateAxis 对象, y 轴是 NumberAxis 对象,绘制单元是 XYLineAndShapeRenderer 对象,数据源是 XYDataset 对象。

Plot 对象的获取操作:

       XYPlot plot = (XYPlot) chart.getPlot();

X 轴对象的获取操作:

       DateAxis xAxis = (DateAxis) plot.getDomainAxis();

Y 轴对象的获取操作:

       NumberAxis yAxis =(NumberAxis) plot.getRangeAxis();

Renderer 对象的获取操作:

       XYItemRenderer renderer= plot.getRenderer();

 

时序图可以接受一切 XYDataset 类型的数据源,下面讲解一下常用的 XYDataset 类型 TimeSeriesCollection 的使用方式。

实例化:

       TimeSeriesCollection dataset=new TimeSeriesCollection();

添加数据操作:

       dataset. addSeries(TimeSeries); // 后面讲解 TimeSeries 对象

TimeSeries 对象操作

实例化:

       TimeSeries ts=TimeSeries(String name,);

 

我觉得,只要把这些图表获取各个对象的类掌握好就行了,在编程中根据此就顺利开发

声明:该帖子的大部分内容借鉴了别人。

<!-- -->
分享到:
评论

相关推荐

    JFreeChart与JSP动态图表

    3. **数据模型**:JFreeChart使用Dataset接口表示图表的数据,常见的实现有CategoryDataset和PieDataset,分别用于分类数据和饼图数据。 4. **绘图引擎**:JFreeChart通过ChartFactory类提供了一系列静态方法来创建...

    jfreeChart java web 图表包

    - **性能优化**:JFreeChart 对大数据集处理高效,能够快速生成高质量的图表。 - **多种输出格式**:支持生成静态图像(如 PNG、JPEG 和 PDF),也可以直接在 Swing 或 JavaFX 应用中显示。 - **社区支持**:作为...

    jfreechart的WEB图表开发_____个人测试

    JFreeChart是一款强大的Java库,用于创建各种类型的2D图表,包括折线图、柱状图、饼图、散点图等。它在WEB图表开发中广泛应用,...由于具体的博客内容没有提供,以上内容是基于JFreeChart常见使用场景的一般性介绍。

    Struts2整合JFreeChart 实现柱状图表

    柱状图是其中一种常见的图表类型,适用于比较不同类别的数据量或频率。通过JFreeChart,我们可以创建具有定制颜色、标签、数据系列和图例的柱状图。 整合Struts2与JFreeChart的过程主要包括以下步骤: 1. **引入...

    Jfreechart的基础图表用法与在web项目中调用.doc

    以下是对 JFreeChart 基础图表用法和在 Web 项目中调用的详细解释: 1. **安装与引入**: 要使用 JFreeChart,首先需要从官方网站 (&lt;http://www.jfree.org/jfreechart/&gt;) 下载最新的 JAR 包,并将其添加到项目的类...

    jFreeChart展示web图表-五分钟上手.zip

    为了在Web页面上显示jFreeChart生成的图表,有几种常见的方法: 1. **服务器端生成**: 服务器端创建图表并将其保存为图像文件,然后在HTML中通过`&lt;img&gt;`标签引用该文件。这通常适用于静态图表。 2. **流式传输**: ...

    android开发中 类似于jfreechart的图表开发

    - 对各种屏幕尺寸和设备进行兼容性测试,确保图表在不同环境下表现良好。 - 调试数据绑定和更新逻辑,确保图表正确显示和响应用户操作。 总之,在Android开发中,利用开源图表库可以方便地实现类似JFreeChart的...

    JFreeChart,Java开源图表框架

    - **多种图表类型**:涵盖了各种常见的图表类型,满足不同数据展示需求。 - **高度定制化**:颜色、字体、图例、网格线、数据标签等均可自定义,甚至可以自定义渲染器。 - **导出与打印**:支持将图表导出为PNG、...

    JFreeChart生成图表的例子.rar

    JFreeChart支持多种时间轴,如DateAxis,可以处理各种时间单位。你需要一个TimeSeriesCollection来存储时间序列数据,然后使用XYPlot创建时间序列图。最后,通过ChartFactory的createTimeSeriesChart方法即可生成。 ...

    JFreechart图表设计教程与实例

    该组件不仅支持常见的图表类型,如条形图、饼图、折线图等,还能绘制更为专业的时序图、甘特图等。 ##### 24.1.2 JFreeChart的下载与使用 JFreeChart是一个开源项目,可以从官方网站...

    java绘制图表(柱状图、饼图、折线图)包 jfreechart

    至于gnujaxp.jar,这是一个GNU Java XML解析器,虽然在JFreeChart官方文档中没有直接提及,但它可能用于在某些特定情况下解析XML配置文件,或者在生成图表时涉及XML数据的处理。 在实际项目中,要使用JFreeChart,...

    jfreechart,jfreechart-1.0.13,jfreechart-1.0.13,jfreechart

    总结来说,JFreeChart是Java开发中不可或缺的工具,它提供了丰富的图表库和强大的定制能力,无论是在企业级应用还是个人项目中,都能展现出强大的图形处理能力。通过深入学习和实践,开发者可以利用JFreeChart轻松...

    基于JFreeChart的股票交易K线图停牌日期缺口优化完整解决方案

    在金融数据分析领域,股票交易K线图是一种广泛使用的可视化工具,它...通过对CSV数据的处理、插值或标记方法的应用,以及JFreeChart的强大功能,我们可以得到连续不间断的K线图,从而更好地洞察股票市场的波动和趋势。

    JFreeChart文档、jar包、教程

    2. **高度自定义**:JFreeChart允许开发者对图表的各个方面进行定制,例如颜色、字体、图例、背景、数据标签等。这使得开发者可以根据项目需求创建独特的图表样式。 3. **数据绑定**:JFreeChart可以通过各种数据...

    信息查询系统--JFreeChart图表显示,分页,验证码,下载excle

    《信息查询系统与技术实践——JFreeChart图表、分页、验证码及Excel导出》 在信息化时代,数据可视化、高效检索以及数据安全是信息系统的重要组成部分。本篇将围绕“信息查询系统”展开,深入探讨如何利用...

    JfreeChart-雷达图与导出

    JFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序或网页中创建多种类型的图表,包括雷达图(也称为蜘蛛网图)。本篇将深入探讨如何利用JFreeChart生成雷达图以及相关的数据导出功能。 **雷达图的使用...

    jfreechart 1.0.13 示例源码

    5. **自定义样式**:JFreeChart允许你对图表的各个方面进行高度定制,包括系列颜色、标记样式、轴标签、网格线等。你可以通过设置`ChartTheme`或直接操作`Chart`、`Plot`、`Axis`等对象来实现个性化设计。 6. **...

    JFreeChart

    总结来说,JFreeChart是一个强大的图表库,其配置涉及依赖管理和图表定制,中文API则关注中文显示和标签设置,而乱码问题的解决是使用过程中常见的挑战。通过理解并掌握这些知识点,开发者可以有效地利用JFreeChart...

    jfreechart-1.0.13-api

    JFreeChart 使用数据模型来存储图表数据,常见的数据模型有 CategoryDataset 和 TimeSeriesCollection。开发者可以通过实现这些接口或使用已提供的类,如 DefaultCategoryDataset 和 XYSeriesCollection,将数据转化...

Global site tag (gtag.js) - Google Analytics