jfreeChart的初学
来源:互联网 发布:python 重试机制 编辑:程序博客网 时间:2024/06/02 03:33
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);
}
}
- jfreeChart的初学
- JFreeChart初学
- jfreechart初学入门的几篇好文章
- jfreechart初学入门的几篇好文章
- 菜鸟学JFreeChart-初学JFreeChart
- JFreeChart 的用法
- JFreeChart的主要API
- JFreeChart的主要API
- jfreechart 的 api
- JFreeChart的简单使用
- Jfreechart的研究学习
- Jfreechart的研究学习
- JFreeChart 的一些解释
- JfreeChart的简单应用
- JfreeChart的使用
- jfreechart的配置
- JFreechart乱码的解决办法
- jFreeChart的基本应用
- Python学习之OS库
- 老手经验:Linux驱动程序开发学习步骤 [转stonly]
- Silverlight如何与JS相互调用
- Android style
- 儿童节特辑
- jfreeChart的初学
- Oracle not in查不到应有的结果(NULL、IN、EXISTS详解)
- 取ORACLE系统时间并转换为日期格式
- Oracle中TO_DATE格式
- 【找不同】上海和北京
- 英语学习的路上
- java位操作符的总结
- 86brew.net,中国BREW开发者自己的论坛
- Java 多线程同步问题的探究(一、线程的先来后到)