JFreeChart 是Java平台上一个开放的图表绘制类库,它完全使用Java语言编写,是为applications, applets, servlets 以及JSP等使用所设计。
JFreeChart可以生成饼图(pie)、柱状图(bar)、散点图(plots)、时序图(time)、甘特图(Gantt)等等多种图表,并且可以产生PNG和JPG(JPEG)的输出,还可以与PDF和EXCEL关联。
JFreeChart是一款相当不错的Java图形解决方案,基本能够解决目前的图形方面的需求,官方下载
Java使用JFreeChart插件前,需先导入jar包
右键项目名——》Build Path——》Configure Build Path...——》Libraries——》Add Extenal Jars——》选择上述jar包
-----------------------------------------------------------------
JFreeChart——Line曲线图
import java.io.*; import org.jfree.data.*; import org.jfree.chart.*; import org.jfree.chart.plot.*; public class lineChart { public static void main(String[] args) throws IOException{ CategoryDataset dataset = getDataSet2(); JFreeChart chart = ChartFactory.createLineChart( "水果产量图", // 标题 "水果", // 目录轴(水平) "产量", // 数值轴(垂直) dataset, // 数据集 PlotOrientation.VERTICAL, // 图表方向(水平/垂直) true, // 是否显示图例(对于简单的柱状图是必须的) false, // 是否生成工具 false // 是否生成 url 链接 ); FileOutputStream fos_jpg = null; try { fos_jpg = new FileOutputStream("./fruit4.jpg"); // 图片的输出目录 ChartUtilities.writeChartAsJPEG(fos_jpg, 100, chart, 800, 600, null); } finally { try { fos_jpg.close(); } catch (Exception e) { e.printStackTrace(); } } } private static CategoryDataset getDataSet2() { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(100, "北京", "苹果"); dataset.addValue(600, "北京", "梨子"); dataset.addValue(700, "北京", "葡萄"); dataset.addValue(300, "北京", "香蕉"); dataset.addValue(200, "北京", "荔枝"); dataset.addValue(100, "广州", "苹果"); dataset.addValue(400, "广州", "梨子"); dataset.addValue(600, "广州", "葡萄"); dataset.addValue(500, "广州", "香蕉"); dataset.addValue(200, "广州", "荔枝"); dataset.addValue(100, "上海", "苹果"); dataset.addValue(300, "上海", "梨子"); dataset.addValue(900, "上海", "葡萄"); dataset.addValue(400, "上海", "香蕉"); dataset.addValue(200, "上海", "荔枝"); return dataset; } }
效果图:
-----------------------------------------------------------------
JFreeChart——Pie饼图import java.io.*; import org.jfree.data.*; import org.jfree.chart.*; public class pieChart { public static void main(String[] args) throws IOException{ DefaultPieDataset data = getDataSet(); JFreeChart chart = ChartFactory.createPieChart3D( "水果产量图", // 标题 data, // 数据 true, false, false ); FileOutputStream fos_jpg = null; try { fos_jpg = new FileOutputStream("./fruit3_pie.jpg"); ChartUtilities.writeChartAsJPEG(fos_jpg, 100, chart, 800, 600, null); } finally { try { fos_jpg.close(); } catch (Exception e) { e.printStackTrace(); } } } private static DefaultPieDataset getDataSet() { DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("苹果", 100); dataset.setValue("梨子", 200); dataset.setValue("葡萄", 300); dataset.setValue("香蕉", 400); dataset.setValue("荔枝", 500); return dataset; } }效果图:
-----------------------------------------------------------------
推荐参考:
Server Tomcat v6.0 Server at localhost failed to start