JFreeChart的简单使用

实例1:简单的饼图

public class Test {	
	public static void main(String[] args) {	
		//建立默认的饼图
		DefaultPieDataset ds=new DefaultPieDataset();
		ds.setValue("苹果",6000);
		ds.setValue("三星", 9000);
		ds.setValue("诺基亚",3200);
		ds.setValue("其他", 9000);
		
		//参数:1->标题 2-> 数据集 3->是否显示legend(在图的下方显示颜色块标注) 4->是否显示提示 5->图中是否存在url
		JFreeChart chart=ChartFactory.createPieChart("全球手机厂商出货量", ds, true, true, false);
		chart.getTitle().setFont(new Font("宋体", Font.BOLD, 30));
		chart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 20));
		//PiePlot是图中饼图的上一级区域
		PiePlot plot=(PiePlot) chart.getPlot();
		plot.setLabelFont(new Font("宋体", Font.PLAIN, 20));
		//下面的标题是Frame的标题
		ChartFrame chartFrame=new ChartFrame("全球手机厂商出货量", chart);
		chartFrame.pack();
		chartFrame.setVisible(true);
	}
}

效果图:

1

实例2:柱状图

public class Test2 {	
	public static void main(String[] args) {	
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		dataset.setValue(6000, "苹果","苹果");
		dataset.setValue(9000, "三星", "三星");
		dataset.setValue(3200, "诺基亚", "诺基亚");
		dataset.setValue(9000, "其他", "其他");
		
		JFreeChart chart=ChartFactory.createBarChart("全球手机厂商出货量", "手机厂商", "出货量(单位:万台)",dataset,PlotOrientation.VERTICAL,true,true,false);
		chart.getTitle().setFont(new Font("宋体", Font.BOLD, 30));
		chart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 20));
		//CategoryPlot是图中饼图的上一级区域
		CategoryPlot plot=chart.getCategoryPlot();
		//设置纵坐标-->前者是外围标识(出货量) 后者是坐标标识(手机厂商)
		plot.getRangeAxis().setLabelFont(new Font("宋体", Font.BOLD, 20));
		plot.getRangeAxis().setTickLabelFont(new Font("宋体", Font.BOLD, 20));
		//设置横坐标
		plot.getDomainAxis().setLabelFont(new Font("宋体", Font.BOLD, 20));
		plot.getDomainAxis().setTickLabelFont(new Font("宋体", Font.BOLD, 20));
		
		ChartFrame chartFrame=new ChartFrame("全球手机厂商出货量", chart);
		chartFrame.pack();
		chartFrame.setVisible(true);
	}
}
效果图

3

实例3:和Struts2的整合

1.导入strut2和JFreeChart的整合插件jar包

2.Action中为:public JFreeChart getChart(){}

3.Struts.xml文件中增加配置:

<action name="ChartOutputAction" class="chartOutputAction">
			<result name="success" type="chart">
				<param name="height">400</param>
				<param name="width">600</param>
			</result>
</action>

4.继承包

<package name="default" namespace="/" extends="struts-default,jfreechart-default">

posted @ 2015-05-23 22:37  珍惜阳光  阅读(565)  评论(0编辑  收藏  举报