JFreeChart| 图解JFreeChart(HelloWorld)

前言

JFreeChart是一款免费的java图形开发类库。 主要用来在application/ applets/ servlets/jsp/上生成各种图表. JFreeChart是完全开源,并且严格遵循GNU的通用公共许可证,力保JFreeChart用户对源代码的自由修改与使用。

JFreeChart能产生饼图(pie)、 柱状/条形统计图(bar)、 折线图(line)、 散点图(scatter plots)、 时序图(time series)、 甘特图(Gantt)、 仪表盘图(meter,比如刻度盘、 温度计、 罗盘等)、 混合图、 symbol图和风力方向图等。
这里写图片描述

本文使用JFreeChart创建一个饼状图()PieChart)作为研究JFreeChart的开端.


相关资源

  • maven依赖
<dependency>
    <groupId>org.jfree</groupId>
    <artifactId>jfreechart</artifactId>
    <version>1.0.19</version>
</dependency>

<dependency>
    <groupId>org.jfree</groupId>
    <artifactId>jcommon</artifactId>
    <version>1.0.23</version>
</dependency>

创建图表步骤

使用JFreeChart创建图表共有三个步骤。 如下:

  • 创建一个dataset。 该dataset包含图表要显示的数据。
  • 创建一个JFreeChart对象。 该对象负责画这个图表。
  • 创建一个输出目标(如:一个panel,显示在屏幕上)或者本地保存为图片等。

具体代码分析

  • 数据集(Dataset):
    JFreeChart可以使用符合PieDataset接口的任何实现数据来创建饼图。 DefaultDataset类实
    现了PieDataset接口,提供了一种便利的使用方式。
    我们可以自由的开发符合实际需的任意PieDataset接口实现。

  • 图表对象(JFreeChart):
    代码中将一个dataset的引用传入到工厂方法中。 JFreeChart持有这个dataset引用的目的是
    便于在画图表时能够获得数据。 使用JFreeChart创建图表有许多定制外观的方式,在这个例
    子中我们使用缺省的属性值。 后面章节将详细介绍

  • 显示图表
    JFreeChart提供了非常灵活的图表输出方式。
    现在我们可以在一个屏幕的框架中显示这个图表。 ChartFrame具有显示图表的机制
    (ChartPanel)

public class FirstJFreeChart {

    public static void main(String[] args) {

        // create a dataset...
        DefaultPieDataset dataset = new DefaultPieDataset();
        dataset.setValue("Category 1", 43.2);
        dataset.setValue("Category 2", 27.9);
        dataset.setValue("Category 3", 79.5);

        // create a chart...
        JFreeChart chart = ChartFactory.createPieChart(
            "Sample Pie Chart -Yves", // chart title: 图表标题
            dataset, // data: 数据集
            true, // legend: 图例
            true, // tooltips: 图表工具条
            false // URLs: URLS
        );

        // create and display a frame...
        ChartFrame frame = new ChartFrame("First", chart);
        frame.pack();
        RefineryUtilities.centerFrameOnScreen(frame);
        frame.setVisible(true);
    }

}

效果图

这里写图片描述

猜你喜欢

转载自blog.csdn.net/u011479200/article/details/81453134