JFreeChart是JAVA平台上的一个开放的图表绘制库,它完全使用JAVA语言编写,是为servlet以及jsp等使用所设计.JFreeChart可生成饼状图(pie charts),柱状图(bar charts)等等,并且可以产生PNG和JPEG格式的输出.
下面是一些常见的例子,希望给您带来帮助,记得要导入jar包哦!
饼状图: package com.java.chart; 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.plot.PiePlot3D; import org.jfree.data.general.DefaultPieDataset; public class PieChart { public static void main(String[] args) { // 创建数据集对象 DefaultPieDataset dataset = getDataset(); // 创建JFreeChart对象 JFreeChart chart = ChartFactory.createPieChart3D("文具销量表", dataset, true, true, false); // 处理中文乱码 // 获取CategoryPlot PiePlot3D plot = (PiePlot3D) chart.getPlot(); // 处理标题乱码 chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 18)); // 处理表内容乱码 chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 18)); // 处理数据集乱码 plot.setLabelFont(new Font("宋体", Font.PLAIN, 18)); // 输出 FileOutputStream fos = null; try { fos = new FileOutputStream("d:/a.jpg"); ChartUtilities.writeChartAsJPEG(fos, chart, 600, 400); } catch (Exception e) { System.out.println("生成图片失败!"); }finally { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } System.out.println("生成图片成功!"); } public static DefaultPieDataset getDataset() { DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("铅笔", 20); dataset.setValue("毛笔", 3); dataset.setValue("钢笔", 10); dataset.setValue("圆珠笔", 30); return dataset; } }柱状图:
package com.java.chart; import java.awt.Color; 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.CategoryAxis; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; public class BarChart { public static void main(String[] args) { // 获取一个数据集 CategoryDataset dataSet = getDataSet(); // 创建JFreeChart的对象 JFreeChart freeChart = ChartFactory.createBarChart3D("水果统计图", "品种", "产量",dataSet, PlotOrientation.VERTICAL, true, true, false); // 设置图表的背景色 freeChart.setBackgroundPaint(new Color(0xffffff)); // 处理中文乱码 //创建CategoryPlot对象 CategoryPlot plot = (CategoryPlot) freeChart.getPlot(); // 获取X轴 CategoryAxis axis =plot.getDomainAxis(); // 处理x轴的标题乱码 axis.setLabelFont(new Font("宋体",Font.PLAIN, 18)); // 处理X轴上的乱码 axis.setTickLabelFont(new Font("宋体",Font.PLAIN, 18)); // 获取Y轴 ValueAxis value = plot.getRangeAxis(); //处理Y轴的标题乱码 value.setLabelFont(new Font("宋体", Font.PLAIN, 18)); //处理标题乱码 freeChart.getTitle().setFont(new Font("宋体", Font.PLAIN,18)); // 处理图例乱码 freeChart.getLegend().setItemFont(new Font("宋体",Font.PLAIN, 15)); // 打印图表 FileOutputStream fos = null; try { fos =new FileOutputStream("d:/test3.jpg"); ChartUtilities.writeChartAsJPEG(fos, freeChart, 600, 400); } catch(Exception e) { System.out.println("生成图片失败!"); } finally { // 释放资源 try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } System.out.println("生成图片成功!"); } public static CategoryDatasetgetDataSet() { // 创建DefaultCategoryDataset 对象 DefaultCategoryDataset ds = new DefaultCategoryDataset(); //添加数据进数据集 // 参数解释:第一个参数是数量,第二个参数是类别,第三个参数是横坐标 ds.addValue(100, "水果","苹果"); ds.addValue(200, "水果", "香蕉"); ds.addValue(300, "水果", "橘子"); ds.addValue(400, "水果", "龙眼"); ds.addValue(500, "水果", "栗子"); return ds; } }折线图:
packagecom.java.chart; import java.awt.Font; importjava.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.CategoryAxis; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; public class LineChart { public static void main(String[] args) { CategoryDataset dataset = createDataset(); JFreeChart chart =ChartFactory.createLineChart("一季度销售曲线", // 折线图名称 "时间", // 横坐标名称 "销售额(百万)", // 纵坐标名称 dataset, // 数据 PlotOrientation.VERTICAL, //水平显示图像 true, // 是否需要图例 true, // 是否需要工具 false // 是否需要链接 ); // 处理乱码 // 处理标题 chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 18)); // 获取CategoryPlot CategoryPlot plot = chart.getCategoryPlot(); //获取X轴 CategoryAxis axis = plot.getDomainAxis(); // 处理X轴乱码 axis.setTickLabelFont(new Font("宋体", Font.PLAIN, 18)); // 处理x轴标题乱码 axis.setLabelFont(new Font("宋体", Font.PLAIN, 18)); // 获取Y轴 ValueAxis value = plot.getRangeAxis(); // 处理Y轴乱码 value.setLabelFont(new Font("宋体", Font.PLAIN, 18)); // 处理其他乱码 chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 18)); plot.setRangeGridlinesVisible(true); // 是否显示格子线 plot.setBackgroundAlpha(0.3f); // 设置背景透明度 FileOutputStream fos =null; try { fos = new FileOutputStream("d:/line.jpg"); ChartUtilities.writeChartAsJPEG(fos, chart, 600, 400); } catch(Exception e) { e.printStackTrace(); } finally { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } public static DefaultCategoryDataset createDataset() { DefaultCategoryDataset linedataset = new DefaultCategoryDataset(); // 各曲线名称 String series1= "宝马"; String series2 = "奔驰"; String series3 ="保时捷"; // 横轴名称(列名称) String type1 = "1月"; String type2 = "2月"; String type3 = "3月"; linedataset.addValue(0.0, series1, type1); linedataset.addValue(4.2, series1, type2); linedataset.addValue(3.9, series1, type3); linedataset.addValue(1.0, series2, type1); linedataset.addValue(5.2, series2, type2); linedataset.addValue(7.9, series2, type3); linedataset.addValue(2.0, series3, type1); linedataset.addValue(9.2, series3, type2); linedataset.addValue(8.9, series3, type3); return linedataset; } }
相关推荐
JFreeChart入门小例子.rar;JFreeChart入门小例子.rar
这是JFReeChart官方例子,它展示了JFreeChart所有图形。
JFreeChart报表小例子 public class SimpleJFreeChart { public static void main(String[] args){ DefaultPieDataset dpd=new DefaultPieDataset(); //建立一个默认的饼图 dpd.setValue("管理人员", 25); //...
jFreeChart简单例子主要介绍了jfreechart的简单例子,包括仪表盘、时钟表、条形图和饼图的简单例子
jfreechart经典例子,里面有好几个列子可以参考,目前jfreechart也基本能满足图表类的所有要求
JFreeChart使用例子JFreeChart使用例子JFreeChart使用例子JFreeChart使用例子JFreeChart使用例子JFreeChart使用例子JFreeChart使用例子JFreeChart使用例子JFreeChart使用例子JFreeChart使用例子JFreeChart使用例子...
jfreeChart例子
JFreeChart 例子JFreeChart 例子JFreeChart 例子JFreeChart 例子JFreeChart 例子JFreeChart 例子
JFreeChart 教程和例子 ,还有包括安装步骤和JAR包的获取等
各种JfreeChart图标例子源码,供参考和学习,饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等
jfreechart经典例子,demo!
JavaSE学习时候都可以看这个例子了,注意几个标题区别,别的没什么可说的。 我在做得时候发现不支持汉字,这个我想可以解决的。 我会抽空仔细看看代码~\(≧▽≦)/~啦啦啦 ...jfreechart饼图例子
JFreeChart的JAR包和API文档JFreeChart的JAR包和API文档JFreeChart的JAR包和API文档JFreeChart的JAR包和API文档JFreeChart的JAR包和API文档JFreeChart的JAR包和API文档JFreeChart的JAR包和API文档JFreeChart的JAR包...
struts1+jfreechart一个简单的小例子,主要和大家分享一下搭起框架的过程。
最新版的例子源代码
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图...
jFreeChart简单入门例子
JfreeChart 教程 中文API 各种图例子
jfreechart 1.0.8 演示+例子源码,虽然版本比较低,不过跟最新的差不多,比较有参考价值
这个压缩包中包含了用java操作word,Excel,JFreeChart的三个例子,做的不是很完善,但是应该能体现一点内容的