`

JFreeChart Bar Chart(柱状图)

阅读更多
import java.io.File;   
import java.io.FileNotFoundException;   
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.plot.CategoryPlot;   
import org.jfree.chart.plot.PlotOrientation;   
import org.jfree.data.category.CategoryDataset;   
import org.jfree.data.general.DatasetUtilities;   
  
//JFreeChart Bar Chart(柱状图)   
public class CreateJFreeChartBar {   
  
    /**  
     * 创建JFreeChart Bar Chart(柱状图)  
     */  
    public static void main(String[] args) {   
        //步骤1:创建CategoryDataset对象(准备数据)   
        CategoryDataset dataset = createDataset();   
        //步骤2:根据Dataset 生成JFreeChart对象,以及做相应的设置   
        JFreeChart freeChart = createChart(dataset);   
        //步骤3:将JFreeChart对象输出到文件,Servlet输出流等   
        saveAsFile(freeChart, "c:\\jfreechart\\bar.png", 500, 400);   
    }   
       
    //保存为文件   
    public static void saveAsFile(JFreeChart chart, String outputPath, int weight, int height) {   
        FileOutputStream out = null;   
        try {   
            File outFile = new File(outputPath);   
            if (!outFile.getParentFile().exists()) {   
                outFile.getParentFile().mkdirs();   
            }   
            out = new FileOutputStream(outputPath);   
            //保存为PNG文件   
            ChartUtilities.writeChartAsPNG(out, chart, 300, 200);   
            //保存为JPEG文件   
            //ChartUtilities.writeChartAsJPEG(out, chart, 500, 400);   
            out.flush();   
        } catch (FileNotFoundException e) {   
            e.printStackTrace();   
        } catch (IOException e) {   
            e.printStackTrace();   
        } finally {   
            if (out != null) {   
                try {   
                    out.close();   
                } catch (IOException e) {   
                    //do nothing   
                }   
            }   
        }   
    }   
  
    //根据CategoryDataset生成JFreeChart对象   
    public static JFreeChart createChart(CategoryDataset categoryDataset) {   
        JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo",    //标题   
                "产品",    //categoryAxisLabel (category轴,横轴,X轴的标签)   
                "数量",    //valueAxisLabel(value轴,纵轴,Y轴的标签)   
                categoryDataset, // dataset   
                PlotOrientation.VERTICAL,   
                true, // legend   
                false, // tooltips   
                false); // URLs   
           
        //以下的设置可以由用户定制,也可以省略   
        CategoryPlot  plot = (CategoryPlot) jfreechart.getPlot();   
        //背景色 透明度   
        plot.setBackgroundAlpha(0.5f);   
        //前景色 透明度   
        plot.setForegroundAlpha(0.5f);   
        //其它设置可以参考 CategoryPlot   
           
        return jfreechart;   
    }   
  
    /**  
     * 创建CategoryDataset对象  
     *   
     */  
    public static CategoryDataset createDataset() {   
           
        String []rowKeys = {"One", "Two", "Three"};   
        String []colKeys = {"1987", "1997", "2007"};   
           
        double [][] data = {   
                {50, 20, 30},   
                {20, 10D, 40D},   
                {40, 30.0008D, 38.24D},   
        };   
           
        //也可以使用以下代码   
        //DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset();   
        //categoryDataset.addValue(10, "rowKey", "colKey");   
           
        return DatasetUtilities.createCategoryDataset(rowKeys, colKeys, data);           
    }   
  
}  
  • 大小: 5.2 KB
分享到:
评论

相关推荐

    利用JFreeChart 实现柱状图,饼图,时序图,折线图等

    1. **柱状图(Bar Chart)** 柱状图是表示分类数据的一种方式,每个类别由一个垂直的矩形表示,矩形的高度表示该类别的数量或比例。在JFreeChart中,你可以通过`CategoryPlot`和`CategoryAxis`来创建柱状图。首先,...

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

    4. **堆栈柱状图**(Stacked Bar Chart):堆栈柱状图是柱状图的扩展,显示每个类别的子类别贡献。使用 `StackedBarRenderer`,可以将多个数据系列堆叠在一起。源码可能包含了如何组织数据为 `...

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

    JFreeChart barChart = ChartFactory.createBarChart3D("3D柱状图", "X轴", "Y轴", barDataset); // 保存柱状图到指定目录 ChartUtilities.saveChartAsJPEG(new File("/path/to/output/barchart.jpg"), barChart, ...

    java制作jfreechart柱状图 饼状图 折线图

    它支持多种图表类型,如柱状图(Bar Chart)、饼状图(Pie Chart)和折线图(Line Chart),并且可以定制图表的各个方面,如颜色、标签、标题等。 1. **柱状图(Bar Chart)**: 柱状图是一种常用来比较不同类别...

    JFreeChart图表,柱状图,折线图, 饼图等例子

    1. **柱状图(Bar Chart)**: 柱状图是表示分类数据的理想方式,每一类数据用一个垂直或水平的矩形条表示。JFreeChart允许你创建单列、双列甚至多列的柱状图,并且可以自定义颜色、标签、数据标签等。例如,你可以...

    Java Web应用开发 58 课堂案例-应用JFreeChart组件实现柱状图.docx

    首先,JSP页面(chart_bar.jsp)是展示柱状图的主要载体。在这个页面中,我们设置了页面的类型、字符编码,并导入了JFreeChart所需的类。第15行,我们创建了一个`DefaultCategoryDataset`对象,它是JFreeChart中用于...

    JFreeChart编写柱状图和饼状图及3D饼状图方法

    1. **柱状图(Bar Chart)**: 柱状图是一种常用的数据表示方式,它通过长条的高度来显示各分类的数值大小。在JFreeChart中,我们可以使用`CategoryPlot`和`CategoryDataset`来创建柱状图。首先,我们需要创建一个`...

    JAVA Web程序设计-3期(KC006) 13-3应用JFreeChart组件实现柱状图的操作步骤.doc

    在浏览器中输入服务器的地址和JSP文件路径,例如`http://localhost:8080/chap08/chart_bar.jsp`,即可看到生成的产品销量柱状图。 通过这个例子,我们可以了解到JFreeChart在Java Web环境中的基本用法。不仅可以...

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

    **柱状图(Bar Chart)** 柱状图使用矩形的长度来表示数值,常用来比较不同类别的数据。JFreeChart提供了`BarChartDemo1`作为创建柱状图的模板。柱状图适用于展示各类别间的数值差异,如各产品的销售额、各城市的...

    jfreechart(柱状图,饼状图...)教程.zip

    首先,JFreeChart库提供了丰富的图表类型,包括柱状图(BarChart)、饼状图(PieChart)、线形图(LineChart)、散点图(ScatterPlot)等。要使用JFreeChart,你需要在你的项目中引入它的依赖。对于Maven项目,可以...

    jfreechart柱状图、饼形图、折线图源码

    首先,JFreeChart库提供了丰富的图表类型,包括但不限于柱状图(Bar Chart)、饼形图(Pie Chart)和折线图(Line Chart)。这些图表在数据分析、报表展示和可视化中都有广泛应用。JFreeChart库的灵活性在于,开发者...

    jfreechart曲线图饼图柱状图 免费图标 图表

    柱状图(Bar Chart)常用于比较不同类别的数值。JFreeChart提供了`CategoryDataset`来存储数据,通过`createBarChart()`方法创建柱状图。可以调整柱子的宽度、颜色以及X轴和Y轴的标签。 ```java CategoryDataset ...

    jfreechart 曲线图 3d饼图 3d柱状图

    **JFreeChart库详解:创建3D曲线图、3D饼图和3D柱状图** JFreeChart是一个强大的Java图形库,它提供了多种图表类型,包括曲线图、饼图和柱状图,且支持2D和3D效果。本篇文章将深入探讨如何使用JFreeChart来创建这些...

    JFreeChart绘制饼图,折线图,柱状图demo

    在JFreeChart中,我们可以使用`BarChart`类来创建。以下是一个创建柱状图的代码片段: ```java import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.data.category....

    JFreeChart绘图

    2. **柱状图(Bar Chart)** 柱状图分为普通柱状图和堆栈柱状图。普通柱状图通过柱子的高度表示数据值,而堆栈柱状图则将多个数据系列以堆叠的方式显示在同一栏中,便于比较不同类别间的相对贡献。`CategoryDataset`...

    java 实现饼状图、柱状图、折线图

    柱状图通常用于比较不同类别之间的数值,JavaFX中的`BarChart`类可以满足基本需求,通过`XYChart.Series`对象来添加数据系列,每个系列包含一组`XYChart.Data`对象,分别代表X轴和Y轴的值。JFreeChart同样提供了`...

    柱状图 折线图 饼状图

    分组柱状图(Grouped Bar Chart)是指将多个相关的数据系列按照类别进行分组显示。 ```java // 创建CategoryDataset数据集 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(20, ...

    jfreeChart 基本开发手册

    JFreeChart barChart = ...; // 创建线图的数据集和图表 XYDataset lineDataset = ...; JFreeChart lineChart = ...; // 创建混合图 CombinedDomainCategoryPlot plot = new CombinedDomainCategoryPlot(); plot....

    Freemarker导出word示例,包括jfreechart图表

    在描述中提到,我们还会用到JFreeChart库,这是一个用于生成各种图表的Java库,支持多种图表类型,包括柱状图和饼图。JFreeChart的强大之处在于它的灵活性,可以定制图表的颜色、样式、数据标签等各个方面。在本示例...

    jfreechart分布图制作开源包

    柱状图(Bar Chart)** 柱状图是数据可视化中常见的图表类型,JFreeChart 提供了多种类型的柱状图,如单列柱状图、多列柱状图和堆叠柱状图。通过柱状的高度,用户可以直观地比较不同类别的数据大小。开发者可以...

Global site tag (gtag.js) - Google Analytics