饼图的设置信息如下:
//设置3D饼状图
public static void setPieChart3D(JFreeChart chart,Paint paint){
try{
Font font = new Font("sans-serif", 10, 20);
chart.getLegend().setItemFont(font);
chart.getTitle().setFont(font);
chart.getTitle().setPaint(Color.white);
chart.getLegend().setItemFont(new Font("sans-serif",Font.PLAIN,14)); ////底部汉字乱码的问题
chart.setBackgroundPaint(Color.black);
PiePlot3D pieplot3d = (PiePlot3D) chart.getPlot();
pieplot3d.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}({2})", NumberFormat.getNumberInstance(),new DecimalFormat("0.00%")));
// 指定图片的透明度(0.0-1.0)
pieplot3d.setStartAngle(45.0);
pieplot3d.setDirection(Rotation.CLOCKWISE);
pieplot3d.setForegroundAlpha(0.6F);
pieplot3d.setNoDataMessageFont(new Font("sans-serif",Font.PLAIN,14));
pieplot3d.setNoDataMessage("无数据");
pieplot3d.setNoDataMessagePaint(Color.white);
pieplot3d.setBackgroundPaint(Color.black);
pieplot3d.setLabelPaint(Color.white);
pieplot3d.setLabelFont(new Font("sans-serif",Font.PLAIN,14));
pieplot3d.setLabelOutlinePaint(Color.white);
pieplot3d.setLabelBackgroundPaint(Color.black);
pieplot3d.setLabelLinkPaint(Color.white);
pieplot3d.setSectionPaint(1,paint);
// 指定显示的饼图上圆形(true)还椭圆形(false)
//pieplot3d.setCircular(true);
}catch(Exception e){
e.printStackTrace();
}
}
//保存图片
public static void saveView(int width,int height,String titleName,String xname,String yname,String fileName,String type,Paint paint,AbstractDataset dataset) throws Exception{
FileOutputStream fileos = null;
try {
//转码
JFreeChart chart = ChartFactory.createPieChart3D(titleName, (PieDataset) dataset, true, true, false);
setPieChart3D(chart,paint);
// 3、设定参数输出结果,首先在 项目/WEB-INF/classes/,添加WarnImages文件夹
String filePath="";//绝对路径
String webPath="resource/reportImages/"+fileName+".jpeg";//动态文件名 相对
filePath = Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath();
filePath =filePath.replace("WEB-INF/classes/", "");
filePath += webPath;
//文件输出
fileos = new FileOutputStream(filePath);
ChartUtilities.writeChartAsJPEG(fileos, 1.0f, chart, width, height,null);//200,200 图片大小
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(fileos!=null){
fileos.flush();
fileos.close();// 最后关闭文件流
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
奇怪的是我设置chart.getLegend().setVisible(false);将其保存为图片的时候就会报一个空指针错误(说的是输出流为空了 在这个位置fileos.close();// 最后关闭文件流),注释这行就不会报错了!(图片正常保存)纠结死了,这个是为什么呢????
相关推荐
### jfreechart饼图简单示例 #### 一、引言 `jfreechart`是一款功能强大且开源的Java图表库,它支持多种类型的图表绘制,包括饼图、柱状图、折线图等。本篇文章将通过一个简单的示例来介绍如何使用`jfreechart`来...
JFreeChart是一款强大的Java图形库,它允许开发者创建各种类型的统计图表,如饼图、柱状图、线图、散点图等。在Java应用程序中,JFreeChart为数据可视化提供了丰富的功能,使得数据的展示更为直观易懂。在本教程中,...
**JFreeChart生成饼图详解** JFreeChart是一款强大的开源Java图表库,它允许开发者创建各种复杂的图表,如柱状图、折线图、饼图、散点图等,广泛应用于数据分析、报告生成以及可视化应用中。在这个小案例中,我们将...
JFreeChart 是一个开源的Java库,用于生成各种类型的图表,包括柱状图、饼图和曲线图等。它提供了一种灵活的方式来创建高质量的2D图表,可以在各种Java应用程序中使用,例如桌面应用、Web应用或者服务器端应用。下面...
`PiePlot`类则负责渲染饼状图,包括颜色、标签和工具提示的设置。 ### 其他图表类型 除了折线图和饼状图,JFreeChart还提供了以下图表类型: - **柱状图(BarChart)**:使用`CategoryChart`和`CategoryPlot`,...
JFreeChar生成饼图图片详细JAVA代码,直接导入eclipse即可使用。
jfreechar 整合struts2.1.8版本生成线图,饼图,柱形图 直接导入eclipse 或myeclipse 即可运行,里面含有lib ,及运行详细说 如:<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts ...
jfreechar最新jar包 JFreeChart目前是最好的java图形解决方案,基本能够解决目前的图形方面的需求,主要包括如下几个方面: pie charts (2D and 3D):饼图(平面和立体) bar charts (regular and stacked, with ...
它提供了丰富的图表类型,包括柱状图、饼图、线图、散点图、面积图、甘特图等,广泛应用于数据分析、报表制作以及各种Java应用程序中。JFreeChart通过其强大的API,使得开发者能够轻松地在程序中集成图表功能,动态...
2. **设置图表组件**: 包括标题(Title)、数据源(Dataset)、图例(Legend)等。 3. **绘制图表**: 使用`ChartPanel`或`ChartUtilities`类将图表渲染到Swing组件或输出到文件。 ### 4. 数据源(Dataset) ...
JFreeChart 支持多种图表类型,如饼图、柱状图、线图、散点图、甘特图等,提供了丰富的定制选项,可以满足开发人员在可视化方面的各种需求。 在Java开发中,JFreeChart插件是一个非常实用的工具,它可以帮助开发者...
在"jfreechar 例子下载"这个资源中,你将获得两个展示JFreeChart功能的示例,一个可能是饼图示例,另一个可能是条形图或线形图示例。这些例子对于理解和学习如何在Java项目中使用JFreeChart非常有帮助。 首先,我们...
1. 饼图(Pie Charts):包括二维和三维饼图,用于显示数据的比例关系。 2. 柱状图(Bar Charts):提供普通和堆积柱状图,并可选择添加三维效果,用于比较不同类别的数据。 3. 曲线图(Line and Area Charts):...
JFreeChart是一款强大的Java库,用于创建各种图表,如饼图、柱状图、线图、散点图、甘特图等。它在IT行业中广泛应用于数据可视化,尤其是在报表生成和数据分析领域。本教程将带你深入理解JFreeChart的使用,并通过...
JFreeChart是一款强大的Java库,用于创建各种类型的图表,如折线图、柱状图、饼图、散点图、甘特图等。这个库在IT行业中被广泛使用,特别是在需要进行数据可视化的应用程序中。它允许开发人员通过简单的API调用来...
在这个"使用jfreechar"的例子中,我们将深入探讨如何在Java Web项目中,特别是在JSP(JavaServer Pages)环境中,利用JFreeChart来绘制饼图和统计图。 首先,我们需要理解JFreeChart的基本概念。JFreeChart库提供了...
JFreeChart是一款强大的Java图表库,它为开发者提供了丰富的图表类型,如柱状图、饼图、线形图、散点图、甘特图等,适用于各种数据分析和展示的需求。这个压缩包“JfreeChar完整的例子”包含了使用JFreeChart创建...
JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
3. 配置图表:设置图例、背景色、轴标签等。 4. 显示图表:将图表添加到 ChartPanel,并将其嵌入到 JFrame 或其他 Swing 容器中。 **五、实例应用** 1. **柱状图**:适用于比较类别间的数值差异,使用 ChartFactory...
JFreeChar 动态横向柱状图,带纵向滚动条,可根据数据自动计算滚动条长度,可自定义系统柱子颜色,定时刷新