jfreeChart的初学

原创 2010年06月01日 12:53:00

package cn.com.wz.gui;

import java.awt.Dimension;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.swing.JFrame;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;


public class MyJFreechart extends JFrame {

/**
* 要建立一個JFreeChart的圖形主要有三個步驟

建立一個擁有資料的DataSet
用DataSet創造JFreeChart
對JFreeChart作一些自訂的設計
顯示JFreeChart

*/
/**
* 初学jfreechart
* 这里包括柱状图,和饼状图的实现,简单易懂
*/
public MyJFreechart(){

this.setSize(700,600);
//绘制柱状图到窗口
CategoryDataset dataSet = createDataSet();
JFreeChart chart = creatChart(dataSet);
chart = creatCustomChart(chart);
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(600,500));
this.add(chartPanel);


drawChar(chart);//生成柱状图图片
createPieChart();//生成饼状图图片
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private void drawChar(JFreeChart chart) {

try {
//FileOutputStream out = new FileOutputStream("image/chart.jpg");
ChartUtilities.saveChartAsJPEG(new File("image/chart.jpg"), chart, 600, 500);

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}

private JFreeChart creatCustomChart(final JFreeChart chart) {
return chart;
}

private JFreeChart creatChart( final CategoryDataset dataSet) {

JFreeChart chart = ChartFactory.createBarChart("fisrt Chart", "产量", "时间", dataSet,
PlotOrientation.VERTICAL, true, true, false);

return chart;
}

private CategoryDataset createDataSet() {

DefaultCategoryDataset dataset = new DefaultCategoryDataset();
// row keys...
String series1 = "First";
String series2 = "Second";
String series3 = "Third";

// column keys...
String category1 = "Category 1";
String category2 = "Category 2";
String category3 = "Category 3";
String category4 = "Category 4";
String category5 = "Category 5";

 

dataset.addValue(1.5, series1, category1);
dataset.addValue(4.2, series1, category2);
dataset.addValue(3.0, series1, category3);
dataset.addValue(5.0, series1, category4);
dataset.addValue(5.0, series1, category5);

dataset.addValue(5.5, series2, category1);
dataset.addValue(7.8, series2, category2);
dataset.addValue(6.0, series2, category3);
dataset.addValue(8.0, series2, category4);
dataset.addValue(4.0, series2, category5);

dataset.addValue(4.0, series3, category1);
dataset.addValue(3.0, series3, category2);
dataset.addValue(2.0, series3, category3);
dataset.addValue(3.0, series3, category4);
dataset.addValue(6.0, series3, category5);

return dataset;

}

private void createPieChart( ) {

DefaultPieDataset dataset = getDataSet();

JFreeChart chart = ChartFactory.createPieChart3D("title", dataset,true, false, false);
//JFreeChart chart = ChartFactory.createPieChart3D(title, dataset, legend, tooltips, urls)
try {
ChartUtilities.saveChartAsPNG(new File("image/peiChart.png"), chart, 600, 500);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


private DefaultPieDataset getDataSet(){
DefaultPieDataset dataSet = new DefaultPieDataset();
dataSet.setValue("苹果", 100);
dataSet.setValue("橘子", 200);
dataSet.setValue("西瓜", 300);
dataSet.setValue("电脑", 1000);

return dataSet;
}

public static void main(String[] args) {

MyJFreechart freeChart = new MyJFreechart();
freeChart.setVisible(true);
}

}

 

Java图表:JFreeChart实例

-
  • 1970年01月01日 08:00

JFreeChart初学

jfreechart
  • qq_33262210
  • qq_33262210
  • 2017-10-18 18:07:53
  • 78

深入探究JFreeChart

  • 2010年10月13日 02:09
  • 292KB
  • 下载

JFreeChart图像报表教程- 带图

jfreechart是jfree公司提供的一个Java项目,它主要用来实现各种图表,包括:饼图,柱状图(普通柱状图和堆栈柱状图),折线图,区域图,分布图,混合图,甘特图,以及一些仪表盘等。 官方...
  • yuexianchang
  • yuexianchang
  • 2016-11-22 22:31:16
  • 3001

JFreechart

  • 2013年09月11日 14:55
  • 264KB
  • 下载

JFreeChart配置安装

JFreeChart配置安装       1、解压jfreechart_0.9.21.zip到指定位置,其中source是jfreechart的源码,jfreechart-0.9.21-demo....
  • hansuper005
  • hansuper005
  • 2011-11-02 18:12:31
  • 778

JFreeChart 折线图

在我前面的博文讲到了JFreeChart--柱形图:JFreeChart-柱形图 1.现在我们来讲讲JFreeChart-折线图: 1.所需要的架包:  架包下载地址:架包下载 因...
  • lifupingcn
  • lifupingcn
  • 2016-10-14 11:21:39
  • 4132

Jfreechart图表生成方法

1.1 什么是jfreechart JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及...
  • u012373815
  • u012373815
  • 2015-12-16 14:57:57
  • 1221

JFreeChart 使用一 直方图之简单柱状图

JFreeChart创建直方条形图包括了:堆栈式直方条形图、时序数据的条形直方图、柱状图等。 本文先对直方图进行介绍。了解简单柱状图的创建过程。 1、概述 直方条形图常常被用来显示表...
  • wangcunhuazi
  • wangcunhuazi
  • 2014-10-25 19:53:02
  • 1881

JFreeChart 折线图_新手

第一次上岗工作,头一个任务:用JFreeChart做折线图。网上搜了好多资料,但对于我这个新手来说好像总显得那么深奥,经过两天的整理测试,稍微弄出了点思路,自己记录下,附上我的例子:我的程序:publ...
  • lt870730439
  • lt870730439
  • 2010-09-21 15:05:00
  • 24127
收藏助手
不良信息举报
您举报文章:jfreeChart的初学
举报原因:
原因补充:

(最多只允许输入30个字)