使用JFreeChart绘制2D饼图图片
2010-12-01 11:43
806 查看
package com.langsin.jfreechartDemo; import java.awt.Font; import java.io.FileOutputStream; import java.io.OutputStream; 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; /** * 使用JFreeChart绘制2D饼图图片 * @see 这里会自动生成图片,并自动保存在项目的根目录下 * @see 所以在创建图片了之后,就可以把图片嵌入到JSP页面中了 * @see 便实现了由JSP显示统计图表的功能,而图表的信息可由参数来决定 */ public class JFreeChartTest33 { public static void main(String[] args) throws Exception { JFreeChart chart = ChartFactory.createPieChart("某公司组织结构2D饼图", getDataset(), true, false, false); //设置图表的标题 chart.setTitle(new TextTitle("某公司组织结构图", new Font("宋体", Font.BOLD, 24))); //获取第一个图例。就是图表最下面的那行 LegendTitle legend = chart.getLegend(0); //设置第一个图例的属性 legend.setItemFont(new Font("微软雅黑", Font.BOLD, 14)); //获得饼图的Plot PiePlot plot = (PiePlot) chart.getPlot(); //设置Plot样式,也就是整个图表中间的部分的显示样式 //这些操作只是为了美化,为了更细致的控制图表的样式 plot.setLabelFont(new Font("隶书", Font.BOLD, 16)); //JFreeChart只支持两种格式的图片:PNG和JPEG/JPG //由于是要将生成的图片写到硬盘上,所以就需要用到输出流 //而且生成的图片的本身就是一个文件,因此使用文件输出流 OutputStream os = new FileOutputStream("company.jpeg"); //将JFreeChart对象写到文件输出流中 //这中间是一个很复杂的过程,但是JFreeChart为我们提供了ChartUtilities类 //帮助我们大大简化了工作量,并且生成的图片会自动保存在Web应用的根目录下 ChartUtilities.writeChartAsJPEG(os, chart, 1024, 768); //关闭输出流 os.close(); } /** * 创建饼图数据集的方法 */ private static DefaultPieDataset getDataset() { DefaultPieDataset dpd = new DefaultPieDataset(); dpd.setValue("管理人员", 25); dpd.setValue("市场人员", 25); dpd.setValue("开发人员", 45); dpd.setValue("其他人员", 10); return dpd; } }
相关文章推荐
- 在JSP页面中使用JFreeChart绘制2D饼图图片
- ios-day14-01(使用Quartz 2D绘制基本图形——线、三角形、矩形、圆、圆弧、扇形、文字、图片等)
- <Linux+Qt>使用Qt绘制2D 图形 <五 图片变换>
- 使用JFreeChart绘制2D和3D折线图
- iOS开发的2D绘制--CoreGraphics的简单使用三(画文字和图片)
- iOS开发UI篇—Quartz2D使用(把图片绘制到Bitmap上>输出图片)
- 使用Quartz 2D 绘制实时折线图
- Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解
- android中Canvas使用drawBitmap绘制图片
- iOS开发UI篇—Quartz2D使用(绘制基本图形)
- Android 使用Canvas在图片上绘制文字
- qt中如果使用svg格式的图片在QPainter中绘制图形
- [多媒体、图形、动画] 使用quartz2D绘制阴影的代码
- HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
- Java绘图: 使用Graphics类绘制线段、矩形、椭圆/圆弧/扇形、图片、文本
- 绘制图片时使用双缓冲机制,避免闪烁
- 使用quartz2D绘制阴影的代码
- 基本图形绘制Quartz2d的的使用
- Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解
- Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解