Java中JFreeChart图表库的使用

本文介绍JFreeChart图表库的基本使用方法,包括下载、安装、创建图表等步骤,并提供了一个生成饼图的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JFree是java下的一个图表库,也是生成丰富图表的一个库。下面我们来简单的学习一下这个图表库吧。

下载的地址可以去官网:

http://www.jfree.org/jfreechart/download.html

也可以在我的网盘中下载:

链接:http://pan.baidu.com/s/1bpbEwaj 密码:iu6n

要启动这个库,电脑必须是先要安装JDK1.6或以上版本

下载之后就是解压,解压后,会看到如下的文件结构

那么什么都不用想,打开README.txt文件,这里有交你如何使用JFreeChart这个库。

其中可以使用

java -jar jfreechart-1.0.19-demo.jar

这个来打开查看到几乎所有JFreeChart可以生成的图表,打开后如图所示

那么如下下载这些例子呢?

很不好意思,这些都是需要45刀的价格才能购买的到,README.txt中有提到。

一般生成表格的步骤如下:

1.创建一个图表的模型,并设置数据
2.调用ChartFactory.createXXXChart()方法来创建表格

3.调用ChartUtilities.writeChartAsJPEG()方法来输出到图片中

代码如下:

    package dengta.jfreechart;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;

import java.awt.*;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class TestPieChart {
    public static void main(String[] args) throws  Exception {
        DefaultPieDataset dataset = getDataSet();

    JFreeChart chart = ChartFactory.createPieChart(
            "Book Learning",
            dataset,
            true,
            true,
            false

    );

    chart.setTitle(new TextTitle("Book Lib",new Font("宋体",Font.BOLD+Font.ITALIC,20)));

    LegendTitle legendTitle = chart.getLegend(0);//设置Legend
    legendTitle.setItemFont(new Font("宋体",Font.BOLD,14));

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

    OutputStream os = new FileOutputStream("Book.jpeg");

    ChartUtilities.writeChartAsJPEG(os,chart,400,300);

    os.close();
}

/**
 * 创建数据集
 * @return
 */
private static DefaultPieDataset getDataSet() {
    DefaultPieDataset dpd=new DefaultPieDataset(); //建立一个默认的饼图
    dpd.setValue("Java", 30);  //输入数据
    dpd.setValue("iOS", 25);
    dpd.setValue("Android", 60);
    dpd.setValue("python", 10);
    return dpd;

}
}

生成的图片如下

要将图片嵌入到jsp页面中可以使用如下所示代码

<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>

<%@ page import="org.jfree.data.general.DefaultPieDataset,org.jfree.chart.ChartFactory
,org.jfree.chart.JFreeChart,org.jfree.chart.servlet.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>

<%

DefaultPieDataset dpd = new DefaultPieDataset();

dpd.setValue("管理人员", 25);
dpd.setValue("市场人员", 25);
dpd.setValue("开发人员", 45);
dpd.setValue("其他人员", 10);

JFreeChart chart = ChartFactory.createPieChart("某公司组织结构图",dpd, true, false, false);

String fileName = ServletUtilities.saveChartAsPNG(chart,800,600,session); 
//ServletUtilities是面向web开发的工具类,返回一个字符串文件名,文件名自动生成,生成好的图片会自动放在服务器(tomcat)的临时文件下(temp)

String url = request.getContextPath() + "/DisplayChart?filename=" + fileName;
//根据文件名去临时目录下寻找该图片,这里的/DisplayChart路径要与配置文件里用户自定义的<url-pattern>一致

%>

<img src="<%= url %>" width="800" height="600">


</body>
</html>

其实大概就是这样,具体的例子可以参考源码的Demo,或者花钱直接购买源代码中的图表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值