今天开始学习JFreeChart了,JFreeChart的主要功能就是创建各种各样的图表!可以很方便的表现一些数据!以前学习的一些笔记都是放自己电脑上的,近来突然觉得有时候换电脑什么的想看自己原来的笔记就有点麻烦了,所以决定以后就把笔记都以博客的形式进行发表,这样以后看的时候也好看一点!好了,下面就开始我的JFreeChart的学习了!
使用JFreeChart的整体步骤一般就三个而已,第一步是准备要用来显示的数据,第二步是创建一个JFreeChart对象,JFreeChart对象通过前面的数据(dataset)来生成一个图表,第三步是显示生成的图表;
下面是一个入门示例,生成pieChart;
第一步:取得数据
JFreeChart可以通过任何实现了PieDataset接口的类取得数据来生成一个JFreeChart对象,而DefaultPieDataset则是实现了这个接口的,下面我们就可以利用这个接口来生成数据了!
DefaultPieDataset defaultPieDataset = new DefaultPieDataset();
defaultPieDataset.setValue("中文 1", 43.2);
defaultPieDataset.setValue("Category 2", 27.8);
defaultPieDataset.setValue("Category 3", 79.5);
第二步:利用前面的数据来生成JFreeChart对象;
JfreeChart里面提供了一个ChartFactory对象,可以方便我们来创建各种各样的chart对象
JFreeChart jfreeChart = ChartFactory.createPieChart("中文标题",//标题
defaultPieDataset,//上面生成的数据,即传入要用于显示的数据
true,//是否显示图例
true,//是否生成工具提示
true);//是否生成URL
第三步:显示生成的图表
显示生成的图标可以有很多种方式,在WEB程序中可以直接以流的方式写到客户端,也可以把生成的图表以图片的形式保存在服务器上,然后客户端访问该图片,我这里举的是最简单的那种,即把图表直接显示在一个frame里面,关于这个JFreeChart的一个ChartFrame对象已经封装好了!
ChartFrame chartframe = new ChartFrame("Test", jfreeChart);//First表示该Frame的标题,jfreechart表示要显示的JFreeChart对象
chartframe.pack();//自适应窗体
chartframe.setVisible(true);
至此一个简单显示图表的问题就解决了,
关于这个还有一个就是中文问题,就是在标题或者标签出现中文的时候会出现乱码,这个问题将在下面的完整代码里面进行解决
下面是一个完整的代码
package com.tiantian.everything.chart;
import java.awt.Font;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
public class Test {
@SuppressWarnings("unchecked")
public static void main(String args[]) {
DefaultPieDataset defaultPieDataset = new DefaultPieDataset();
defaultPieDataset.setValue("中文 1", 43.2);
defaultPieDataset.setValue("中 2", 27.8);
defaultPieDataset.setValue("Category 3", 79.5);
JFreeChart jfreeChart = ChartFactory.createPieChart("中文标题",// 标题
defaultPieDataset,// 上面生成的数据,即传入要用于显示的数据
true,// 是否显示图例
true,// 是否生成工具提示
true);// 是否生成URL
// 如果前面的标题是中文的话则在页面是显示的时候会出现乱码,我的解决方法是在生成了JFreeChart对象后,
// 将JFreeChart对象的标题重新设置一次,并将它的字体设置为中文字体,这样就不乱码了
jfreeChart.setTitle(new TextTitle(jfreeChart.getTitle().getText(),
new Font("宋体", Font.CENTER_BASELINE, 21)));
// 这个对象是JFreeChart对象包含的一个主体对象,每个JFreeChart对象都包含一个类似的对象,
// 该对象有前面的数据的引用等
PiePlot piePlot = (PiePlot) jfreeChart.getPlot();
// 如果没有这句的上面的标签出现中文的时候也是会乱码的,pieLot可以直接这样设置它的标签的字体,
// 但是JFreeChart我就没有找到可以直接设置它的标题的字体的方法
piePlot.setLabelFont(new Font("宋体", Font.CENTER_BASELINE, 16));
// 下面一段是对下方显示的图例的中文的解决
jfreeChart.getLegend(0).setItemFont(
new Font("宋体", Font.CENTER_BASELINE, 15));
ChartFrame chartframe = new ChartFrame("Test", jfreeChart);// First表示该Frame的标题,jfreechart表示要显示的JFreeChart对象
chartframe.pack();// 自适应窗体
chartframe.setVisible(true);
}
}
还可以将生成的Chart输出到一个输出流里面:
ChartUtilities.writeChartAsJPEG(fos,// 输出到哪个输出流
1, // jpeg 图片的质量,0~1之间
chart, // 统计图表对象
800,// 长
600// 宽
);
分享到:
相关推荐
1. **广泛的图表类型支持**:JFreeChart支持多种图表类型,包括但不限于折线图、条形图、饼图、散点图、时间序列图等。 2. **高度可定制性**:用户可以根据需要对图表的颜色、样式、布局等进行个性化定制。 3. **...
jfreechart-1.5.2.jar,jfreechart|jfreechart
1. **丰富的图表类型**:JFreeChart支持多种图表类型,包括条形图、饼图、线形图、散点图、面积图、雷达图、甘特图、热力图等,以及3D版本的这些图表。 2. **自定义选项**:每个图表都提供了大量的自定义选项,如...
标题 "JFreeChart(Struts1+jFreeChart)" 提到的是在Struts1框架中集成JFreeChart库进行图表展示的技术。JFreeChart是一个强大的Java库,它提供了多种图表类型,如柱状图、饼图、线图、散点图等,用于数据可视化。而...
实现报表和柱状图的显示,适合初学者的学习,需要两个相关的Jar包!
1. **基本图表类型**: - 折线图:适合展示趋势数据,通过线条连接各个数据点,清晰地显示数据随时间的变化。 - 柱状图:直观比较不同类别的数值大小,可以是垂直或水平排列。 - 饼图:用于展示各部分占总体的...
1. **图表类型**:JFreeChart支持多种图表类型,如折线图(LineChart)、柱状图(BarChart)、饼图(PieChart)、散点图(ScatterPlot)、面积图(AreaChart)等。每个图表类型都有其特定的用途,适用于不同的数据...
**JFreeChart 演示程序详解** JFreeChart 是一个强大的 Java 图表库,它提供了丰富的图表类型,包括柱状图、饼图、线图、散点图、甘特图等,适用于各种数据可视化需求。这篇内容将深入探讨 JFreeChart 的基本使用...
JFreeChart 是一个流行的 Java 库,用于创建各种类型的图表,包括饼图、折线图、柱状图等。在使用 JFreeChart 进行数据可视化时,可能会遇到乱码的问题,这通常与字体设置不当有关。本文将详细分析 Jfreechart 乱码...
1. **jfreechart.jar**:这是JFreeChart的主要库文件,包含了创建各种图表的类和方法。开发者可以通过这个库调用API来定制图表的颜色、样式、数据源等。 2. **jcommon.jar**:这是一个JFreeChart依赖的基础库,提供...
1. 初始化JFreeChart对象:根据需求选择合适的图表类型,使用ChartFactory创建基础图表。 2. 创建混合图的主Plot:使用CombinedDomainXYPlot或CombinedRangeXYPlot,并设置必要的属性,如轴标签、间隔等。 3. 添加子...
jfreechart绘制的风速风向玫瑰图 jfreechart是Java中一个流行的图表库,它提供了许多种类的图表,包括柱状图、折线图、饼图、雷达图等。本文主要介绍如何使用jfreechart绘制风速风向玫瑰图。 首先,了解jfreechart...
1. **下载**:首先需要从官方网站下载最新版本的JFreeChart。当前最新的稳定版本为1.0.6,可以从官方网站或者其他可信源获取。 - **文件包**:通常下载的文件包包含多个JAR文件以及一些示例代码。 2. **添加JAR...
1. **多类型的图表**:JFreeChart 支持多种图表类型,包括柱状图(BarChart)、折线图(LineChart)、饼状图(PieChart)、散点图(ScatterPlot)、甘特图(GanttChart)等,满足不同场景下的数据展示需求。...
**JFreeChart 使用详解** JFreeChart 是一个用于 Java 的开源图表库,它提供了一种简单的方法来创建各种复杂的图表,如折线图、柱状图、饼图、散点图以及更专业的图表类型,如甘特图和雷达图。在Java应用中,如果你...
"JFreechart教程与实例" JFreechart是一款功能强大的图形报表组件,主要用于生成各种动态图表。在Java项目的应用中,JFreechart组件几乎可以满足目前图形报表的所有需求。JFreechart组件可以生成各种各样的图形报表...
1. **丰富的图表类型**:支持多种图表类型,包括饼图、柱状图、线图、散点图、面积图、甘特图等,满足不同数据分析和展示需求。 2. **高度可定制**:可以调整颜色、字体、边框、标签等元素,甚至可以添加自定义的...