JFreeChart

基本步骤:      

(1)建立Dataset。将你所想要显示的数据都放到这个库中。

(2)建立JFreeChart对象。将你的dataset填入到这个对象中。

(3)设置各种JFreeChart的属性和效果。通过它提供的各种方法和接口设置相关的属性。

(4)生成图表,然后按照个人的需求进行执行

注意:最新的版本会有中文无法显示的bug,设置标签的属性后就可以解决问题



条形统计图的基本创建方法



//创建一个条形容统计图
public class JFreeBarChartTest {
	public static void main(String[] args){
		
		
		// 创建数据集对象
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		dataset.addValue(20, "小明", "语文");
		dataset.addValue(60, "小丽", "语文");
		dataset.addValue(50, "小明", "数学");
		dataset.addValue(50, "小丽", "数学");
		
		
		// 创建JFreeChart对象
		JFreeChart barChart =  ChartFactory.createBarChart3D(
				"条形统计图",//标题
				"姓名",     //x轴标签
				"分数" ,    //y轴标签
				dataset,    //数据集
				PlotOrientation.VERTICAL,//设置Y轴的方向垂直
				true,       //显示图例
				true,       //不生成工具
				true        //不生成连接
				);
		
		//设置字体属性
		CategoryPlot barPlot = barChart.getCategoryPlot();
		barChart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12)); //底部标签
       
		CategoryAxis domainAxis = barPlot.getDomainAxis(); //x轴标签设置
		 domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));  
	     domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12)); 
	        
        ValueAxis rAxis = barPlot.getRangeAxis();        //y轴标签设置
        rAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));  
        rAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));  
		
        TextTitle textTitle = barChart.getTitle();  //标签设置
        textTitle.setFont(new Font("宋体", Font.PLAIN, 20));  
        
        
        
       
        
		
		//以swing的形式输出图表
		ChartFrame barChartFrameframe = new ChartFrame("barChartFrame",barChart);
		barChartFrameframe.pack();
		barChartFrameframe.setVisible(true);
	}

	

}


运行结果:



饼图的基本创建方法

public class JfreePieChartTest {
	public static void main(String[] args) {
		// 创建数据集对象
		DefaultPieDataset dataset = new DefaultPieDataset();
		dataset.setValue("男生", 120);
		dataset.setValue("女生", 200);

		// 创建JFreeChart对象
		JFreeChart pieChart = ChartFactory.createPieChart("饼图", // 标题
				dataset, // 数据集
				true, true, true);

		// 设置字体属性
		PiePlot pieplot = (PiePlot) pieChart.getPlot(); // 通过JFreeChart对象获得plot

		TextTitle textTitle = pieChart.getTitle(); // 标题设置
		textTitle.setFont(new Font("宋体", Font.PLAIN, 20));

		pieChart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));//底部标签字体

		StandardPieSectionLabelGenerator sp = new StandardPieSectionLabelGenerator("{2}");//{1}表示显示数值, {2}表示显示百分比
		pieplot.setLabelGenerator(sp);// 设置百分比

		// 以swing的形式输出图表
		ChartFrame pieChartFrame = new ChartFrame("peiFrame", pieChart);
		pieChartFrame.setVisible(true);
		pieChartFrame.pack();

	}

}

运行结果:


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38686284/article/details/79951295
文章标签: JFreeChart
个人分类: java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭