利用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. HYSBZ - 3750 Pieczęć(模拟)

    题目: 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色. 你有一个a*b的印章,有些格子是凸起(会沾上墨水)的.你需要判断能否用这个印章印出纸上的图案.印的过程中需要满足以下要求: ...

  2. Linux htop工具使用详解【转】

    原文地址: http://www.cnphp6.com/archives/65078 一.Htop的使用简介 大家可能对top监控软件比较熟悉,今天我为大家介绍另外一个监控软件Htop,姑且称之为to ...

  3. hdu4428(Coder)线段树

    Coder Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  4. *** 红包书用法 及 ubuntu全局配置

    使用教程 http://go.wasai.org/sswiki https://home.maysoul.com/wiki/doku.php?id=shadowsocks ubuntu使用教程 htt ...

  5. Python之trutle库-五角星

    Python之trutle库-五角星 #!/usr/bin/env python # coding: utf-8 # Python turtle库官方文档:https://docs.python.or ...

  6. POJ 1995 (快速幂) 求(A1B1+A2B2+ ... +AHBH)mod M

    Description People are different. Some secretly read magazines full of interesting girls' pictures, ...

  7. 关于.NET玩爬虫这些事 【初码干货】

    这几天在微信群里又聊到.NET可以救中国但是案例太少不深的问题,我说.NET玩爬虫简直就是宇宙第一,于是大神朱永光说,你为何不来写一篇总结一下? 那么今天就全面的来总结一下,在.NET生态下,如何玩爬 ...

  8. Postman 安装与使用

    本文是基于 Chrome 浏览器的扩展插件来进行的安装,并非单独应用程序. 1. 官网安装(容易打开出错) 打开官网,https://www.getpostman.com  点击那个灰灰色的「Chro ...

  9. Java面向对象学习-----类的成员变量2

    请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等等 方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp( ...

  10. Master of Subgraph

    Problem E. Master of SubgraphYou are given a tree with n nodes. The weight of the i-th node is wi. G ...