`

使用JFreeChart生成时间顺序图实例(生成图片)

阅读更多
package com.lhhc.jfreechart.test;

import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Month;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;

public class TimeChartDemo {

    /**
     * @param args
     */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        JFreeChart chart = ChartFactory.createTimeSeriesChart("图书销量统计图", "图书",
                "销量", getDataSet(), true, false, false);
        LegendTitle legend = chart.getLegend(0);
        // 修改图例的字体
        legend.setItemFont(new Font("宋体", Font.BOLD, 14));

        // 设置标题
        chart
                .setTitle(new TextTitle("图书销量统计图", new Font("黑体", Font.ITALIC,
                        22)));
        XYPlot plot = (XYPlot) chart.getPlot();
        ValueAxis categoryAxis = plot.getDomainAxis();
        categoryAxis.setLabelFont(new Font("宋体", Font.BOLD, 22));
        categoryAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 18));
        NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();// 取得纵轴
        numberAxis.setLabelFont(new Font("宋体", Font.BOLD, 22));// 设置纵轴显示标签字体
        FileOutputStream fos = null;
        fos = new FileOutputStream("book2.jpg");
        ChartUtilities.writeChartAsJPEG(fos, 1, chart, 800, 600, null

        );
        fos.close();

    }

    private static XYDataset getDataSet() {
        TimeSeries spring = new TimeSeries("Spring2.0宝典", Month.class);
        spring.add(new Month(10, 2006), 3400);
        spring.add(new Month(11, 2006), 2700);
        spring.add(new Month(12, 2006), 0);
        spring.add(new Month(1, 2007), 1800);
        spring.add(new Month(2, 2007), 2200);

        TimeSeries lightWeight = new TimeSeries("轻量级J2EE企业级应用实战", Month.class);
        lightWeight.add(new Month(10, 2006), 2800);
        lightWeight.add(new Month(11, 2006), 3700);
        lightWeight.add(new Month(12, 2006), 0);
        lightWeight.add(new Month(1, 2007), 2100);
        lightWeight.add(new Month(2, 2007), 1100);

        TimeSeriesCollection dataset = new TimeSeriesCollection();
        dataset.addSeries(spring);
        dataset.addSeries(lightWeight);
        return dataset;

    }

}
分享到:
评论

相关推荐

    用JFreeChart写的雷达图实例

    在实际应用中,我们需要导入JFreeChart相关的包,并创建一个ChartFactory实例,然后调用其createPolarChart()方法来生成雷达图。 `ChartDataSet.java`可能封装了数据集的处理,JFreeChart通常使用CategoryDataset或...

    jfreechart生成图片及导出pdf 、excel

    在这个“jfreechart生成图片及导出pdf、excel”的主题中,我们将深入探讨如何利用JFreeChart来生成这些图表,并将其导出为PDF和Excel格式。 1. **JFreeChart基本使用** JFreeChart库提供了多种图表类型,包括...

    JFreeChart生成图片并显示

    这篇博文将深入探讨如何使用JFreeChart生成图片并将其在Web应用中显示。 首先,我们需要了解JFreeChart的基本概念。JFreeChart是一个用Java编写的库,它允许开发者创建各种类型的2D图表,包括折线图、柱状图、饼图...

    JfreeChart-雷达图与导出

    本篇将深入探讨如何利用JFreeChart生成雷达图以及相关的数据导出功能。 **雷达图的使用** 雷达图是一种多维数据可视化工具,特别适合于比较多个变量在同一标准下的表现。在JFreeChart中,创建雷达图主要分为以下几...

    jfreechart_生成折线图,饼图,柱状图,堆栈柱状图

    使用 jfreechart 生成折线图需要以下步骤: 1. 创建 CategoryDataset 对象,用于存储数据。 2. 创建 LineAndShapeRenderer 对象,用于设置折线图的样式。 3. 创建 CategoryAxis 对象,用于设置 x 轴和 y 轴的样式。...

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    JFreeChart是一个流行的Java库,用于生成各种类型的图表,包括折线图、饼图和柱状图,甚至堆栈柱状图。这个压缩包中的"CreateChartServiceImpl.java"文件很可能包含了一个实现这些功能的服务类。 首先,我们要理解...

    jfreechart生成各种图表

    jfreechart生成各种图表 柱状 饼状 折线 锥状

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    标题中提到的“jfreechart生成折线图、饼图、柱状图、堆栈柱状图”是指使用Java的一个开源图形库JFreeChart来创建不同类型的统计图表。JFreeChart是一个功能全面、成熟的Java图表库,广泛应用于各种应用程序中进行...

    JFREECHART生成的柱图

    JFREECHART柱图

    jFreeChart生成报表图片

    7. **扩展性**:jFreeChart不仅限于静态图片输出,还可以生成SVG矢量图、PDF文档,甚至直接在Swing或JavaFX界面中绘制图表。同时,与其他Java库(如JDBC、CSV解析库)结合,能方便地从数据库或文件中获取数据并生成...

    Spring+JFreeChart 自动生成统计图

    标题“Spring+JFreeChart 自动生成统计图”涉及的是在Java开发环境中,利用Spring框架和JFreeChart库来动态生成图表的技巧。这篇文章可能是介绍如何在Spring应用中集成JFreeChart,以便为数据可视化提供服务。 ...

    jfreechart部署linux服务器生成图片乱码解决方案

    标题 "jfreechart部署在Linux服务器上生成图片乱码的解决方案" 涉及到的主要知识点是关于Java图形库JFreeChart在Linux环境中的使用,特别是解决中文字符乱码的问题。JFreeChart是一个广泛使用的开源Java库,它允许...

    jfreechart雷达图

    - **创建ChartFactory**:通过调用JFreeChart的静态方法,如createRadarChart(),传入图表标题、RadarPlot实例和其他配置参数,创建雷达图实例。 - **设置图表属性**:你可以自定义图表的颜色、字体、背景等视觉...

    java使用JFreeChart制作柱形图

    Java 使用 JFreeChart 创建柱形图是一种常见的数据可视化方法,尤其在数据分析和Web应用程序中。JFreeChart 是一个强大的开源库,它提供了多种图表类型,包括柱形图、饼图、线图等,使得开发者能够方便地将数据转化...

    JFreeChart生成柱形图完整测试代码

    JFreeChart生成柱形图完整测试代码 放在普通项目里运行main方法就能生成柱形图 不需要添加任何代码 可根据自己需要修改参数

    Java JFreeChart 后台生成折线图

    以上就是使用Java JFreeChart库在后台生成折线图的基本流程。饼图和柱状图的生成原理类似,只需替换相应的`ChartFactory`方法(如`createPieChart()`或`createBarChart()`),并调整数据集的结构以适应不同图表的...

    jfreeChart生成的线状图,饼状图,柱状图

    下面我们将深入探讨如何使用JFreeChart生成这些图表,以及它们各自的特点和应用场景。 **线状图(Line Chart)** 线状图是通过点与点之间的连线来展示数据变化趋势的图表。在JFreeChart中,可以使用`LineChartDemo...

    JFreeChart生成3D饼状图及柱状图

    在这个特定的场景中,我们将关注如何使用JFreeChart生成3D饼状图和柱状图,并将这些图像保存到指定的文件目录下。 首先,我们需要了解JFreeChart的基本用法。JFreeChart的核心是`ChartFactory`类,它提供了静态方法...

    使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP

    《使用JFreeChart生成曲线、柱状图、饼状图、分布图展示到JSP》 JFreeChart是一个强大的Java库,它允许开发者创建各种类型的图表,包括曲线图、柱状图、饼状图和分布图等。在当前JS图表库盛行的时代,JFreeChart...

Global site tag (gtag.js) - Google Analytics