利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全)

14.7 利用JFreeChart生成多轴图表

通过JFreeChart插件还可以生成拥有多个坐标轴的图表,简称多轴图表。在生成多轴图表时,必须通过绘图区对象,因为在JFreeChart中各种风格的统计图均是绘制在绘图区对象上的,一个绘图区对象可以接收多个坐标轴对象、数据集对象和绘图风格对象,向单轴图表中添加附加轴的基本步骤如下。

(1)创建一个坐标轴对象并添加到绘图区对象当中。

(2)将相应的绘图数据集对象添加到绘图区对象当中。

(3)通过绘图区对象将相应的绘图数据集对象和对应的坐标轴对象建立映射关系。

(4)创建一个用来描述绘图数据的图形对象,并添加到绘图区对象当中。

下面是一个多轴图表之双轴图表的典型应用,下面将以此讲解多轴图表的具体生成方法。

 实例位置:光盘\mingrisoft\14\dxyy\01

该典型应用生成的多轴图表的效果如图14.10所示。

图14.10 利用JFreeChart生成多轴图表

因为在绘制多轴图表时,需要用到绘图区对象,所以在这里首先获得绘图区对象,代码如下:

CategoryPlot plot = chart.getCategoryPlot();

下面创建一个坐标轴对象,并添加到绘图区对象当中,代码如下:

ValueAxis axis1 = new NumberAxis("季度销售汇总    单位:万册");

plot.setRangeAxis(1, axis1);

在创建坐标轴对象时,入口参数为坐标轴的名称。在通过绘图区对象的setRangeAxis()方法将坐标轴对象添加到绘图区时,需要提供两个入口参数,第一个为坐标轴的索引位置,要求为正整数,绘图区默认的坐标轴索引为“0”,所以这里将其设为“1”;第二个为坐标轴对象。

下面的代码负责封装绘图数据集,并将其添加到绘图区对象当中,代码如下:

DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();

// 封装绘图数据集的具体代码略

plot.setDataset(1, dataset1);

在通过绘图区对象的setDataset()方法将绘图数据集对象添加到绘图区时,同样需要提供两个入口参数,第一个为数据集的索引位置,要求为正整数,绘图区默认的绘图数据集索引为“0”,所以这里将其设为“1”;第二个为绘图数据集对象。

下面需要将绘图数据集对象和欲采用的坐标轴对象建立映射关系,方法如下:

plot.mapDatasetToRangeAxis(1, 1);

在通过绘图区对象的mapDatasetToRangeAxis()方法将绘图数据集对象和坐标轴对象建立映射关系时,同样需要提供两个入口参数,第一个为数据集的索引位置;第二个为坐标轴的索引位置。

   注意:并不是索引位置相同的绘图数据集和坐标轴是一一对应的,如果不为索引位置为非0的绘图数据集映射对应的坐标轴,JFreeChart默认采用索引位置为0的坐标轴,所以,也可以利用一个坐标轴来描述图形对象的数据信息。

最后,创建一个用来描述绘图数据的图形对象,并添加到绘图区对象当中,代码如下:

CategoryItemRenderer renderer1 = new LineAndShapeRenderer();

renderer1.setSeriesPaint(0, Color.BLACK);

plot.setRenderer(1, renderer1);

   注意:用来描述绘图数据的图形对象和绘图数据集的索引是一一对应的。

利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全)的更多相关文章

  1. 利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全)

    利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全) 14.8 利用JFreeChart生成组合图表  实例位置:光盘\mingrisoft\14\dxyy\02 通过JFree ...

  2. 利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全)

    利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全) 14.5 利用JFreeChart生成区域图 通过JFreeChart插件只能生成普通效果的区域图,利用工厂类ChartFac ...

  3. 利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全)

    利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全) 14.4 利用JFreeChart生成折线图 通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折 ...

  4. 利用JFreeChart生成时序图(6) (转自 JSP开发技术大全)

    利用JFreeChart生成时序图(6) (转自 JSP开发技术大全) 14.6 利用JFreeChart生成时序图 通过JFreeChart插件只能生成普通效果的时序图,利用工厂类ChartFact ...

  5. JFreeChart生成柱形图(2) (转自 JSP开发技术大全)

    JFreeChart生成柱形图(2) (转自 JSP开发技术大全) 14.2 利用JFreeChart生成柱形图14.2.1 利用DefaultCategoryDataset数据集绘制柱形图 通过JF ...

  6. JFreeChart生成饼形图(3) (转自 JSP开发技术大全)

    JFreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图: ...

  7. JFreeChart生成饼形图(3)11 (转自 JSP开发技术大全)

    FreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图:如 ...

  8. JFreeChart基础(1) (转自 JSP开发技术大全)

    JFreeChart基础(1) (转自 JSP开发技术大全) JFreeChart是一个Java开源项目,是一款优秀的Java图表生成插件,它提供了在Java Application.Servlet和 ...

  9. 利用JFreeChart生成简单柱状图(Java)

    package barchartdemo1; import <a href="http://lib.csdn.net/base/javaee" class='replace_ ...

随机推荐

  1. 零基础入门学习Python(8)--了不起的分支和循环2

    前言 上节课小甲鱼教大家如何正确的打飞机,其要点是判断和循环,判断就是该不该做某事,循环就是持续做某事 知识点 写一个程序 按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下 ...

  2. mysql、MariaDB的简单操作

    mysql的简单操作 一.查看数据库 SHOW DATABASES; 例如: MariaDB [(none)]> show databases; +--------------------+ | ...

  3. GROUP函数

    GROUP_ID 首先我们看看官方的解释: 大意是GROUP_ID用于区分相同分组标准的分组统计结果. 解释起来比较抽象,下面我们来看看具体的案例. 例1:单一分组 SQL> select gr ...

  4. MySQL-----唯一索引

    唯一索引: 单列唯一索引和联合唯一索引 索引是为了加速查找. 唯一索引是加了约束条件.例如主外键. 唯一索引的约束: 约束不能重复(可以为空) 主键不能重复(不能为空) 加速查找 create tab ...

  5. Oracle 实现查询不区分大小写(SQL实现)

    转为小写  LOWER('ABC') 结果 abc转为大写  UPPER('aBc') 结果 ABC 将数据库字段数据和前台接受的值全部转换为大写或者小写 例: select * from table ...

  6. allegro中出光绘文件遇到问题的解决办法

    一:设置好光绘文件参数后,选择check dabase before artwork后,点击生成光绘时出现错误告警信息:    database has errors:artwork generati ...

  7. 细说php第八章笔记(初稿)

    8.1 函数的定义      函数是被命名的:      函数是独立的:      函数执行特定的任务:      函数可以用将一个返回值返回给调用他的程序 函数的优越性      提高程序的重用性 ...

  8. Android : reletive layout

    在兄弟的上下左右: android:layout_toRightOf="@id/btn1"/> android:layout_toLeftOf="@id/img1& ...

  9. .NET一般处理程序如何获取AJAX传递的参数

    POST的话 要用 HttpContext.Request.Form 和 HttpContext.Request.Params[""]   GET对应HttpContext.Req ...

  10. Automation 的 ReportFlow

    ReportFlow: // click the Grid icon and switch to grid page public void changeToGrid() // click the A ...