学习JFreeChart(一)
2008-02-23 10:01:04来源:互联网 阅读 ()
最近由于项目需要,开始学习JFreeChart和iText,在网上找了一下相关的资料不是很多,特别是JFreeChart在官方文档上没有像iText那样详尽的说明及例子,而且官方的demo只有一个jar文件,里面也比较乱,不知道从什么地方下手,在网上找了几个例子,开始循序渐进的学吧!
第一个例子是个台湾人写的,很多的名词都是用的台湾说法,读过侯捷先生翻译的书的朋友应该有很深的体会!学习任何一个开源的项目第一个任务就是配环境,
JFreeChart 首頁:
http://www.jfree.org/jfreechart/
JFreeChart API:
http://www.jfree.org/jfreechart/javadoc/
目前的版本:jfreechart-1.0.0
具体的安装和classpath的配置就不多说了
上面就是该例子要生成的柱状图!代码如下:
package HelloJChart;
import Java.awt.Dimension;
import javax.Swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class HelloBarChart extends JFrame{
public HelloBarChart(){
CategoryDataset dataset = createDataset();
JFreeChart chart = createChart(dataset);
chart = customizeChart(chart);
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(500, 270));
getContentPane().add(chartPanel);
pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
new HelloBarChart();
}
private CategoryDataset createDataset(){
// 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";
// create the dataset...
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
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 JFreeChart createChart(final CategoryDataset dataset){
JFreeChart chart = ChartFactory.createBarChart(
"Hello Bar Chart", // chart title
"Category", // domain axis label
"Value", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true, // tooltips?
false // URLs?
);
return chart;
}
private JFreeChart customizeChart(final JFreeChart chart){
return chart;
}
}
要建立一個JFreeChart的圖形主要有三個步驟
- 建立一個擁有資料的DataSet
- 用DataSet創造JFreeChart
- 對JFreeChart作一些自訂的設計
- 顯示JFreeChart
第一步:建立DataSet
BarChart使用的DataSet接口org.jfree.data.CategoryDataset的DataSet。
有兩種方式來建立CategoryDataSet
- 使用CategoryDataSet的子类org.jfree.data.DefaultCategoryDataset,再用addValue()把資料加入DataSet中
- 建立包含數值的二維陣列,再使用org.jfree.data.DatasetUtilities的createCategoryDataset()
使用DefaultCategoryDataSet
DefaultCategoryDataSet class:
public void addValue(double value标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:JBuilder2005 JBoss-4.0.2RC1 J2SDK1.5 Log4j 开发Session Bean
下一篇:webshpere studio application developer 中 jndi 访问DATASOURC
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash