jfreechart 简单使用



前段时间因为需要制作统计图,所以就搜索了jfreechart的相关资料,用了1天终于制作出了简单的案例,今天拿来跟大家分享一下。希望可以使后来者掌握的轻松点,或者想学习它的人可以入门快点,进而去研究的更加深入。

http://www.jfree.org/jfreechart/index.html  官网

首先我使用的jfreechart版本1.0.12,将它导入我们的工程lib目录中。
创建一个类接着我们就可以使用jfreechart中封装的类了,哈哈。。

它的功能总的来说很好,可以做好多类型的图,相关说明网上多的是。
这里我只做了简单的柱状统计图


下面来说说自己的代码,使大家能够快速接受。

//要展示的数据
DefaultCategoryDataset dataset=new DefaultCategoryDataset();
dataset.setValue(6, "以前", "张航");
dataset.setValue(5, "以前", "樊博");
dataset.setValue(3, "以前", "翟博莉");
dataset.setValue(1, "现在", "张航");
dataset.setValue(1, "现在", "樊博");
dataset.setValue(5, "现在", "翟博莉");
        //生成的图片模式,3D模式
JFreeChart chart=ChartFactory.createBarChart3D("游戏玩家大比拼",
"看谁拿大奖~  ^_^",
"大比拼积分",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false);
//设置生成图片的相关颜色
chart.setBackgroundPaint(Color.yellow);
chart.getTitle().setPaint(Color.blue);

CategoryPlot p=chart.getCategoryPlot();
p.setBackgroundPaint(Color.BLACK);
p.setRangeGridlinePaint(Color.red);

/*****************中文乱码解决************************************/
//设置标题的乱码 chart对象
    chart.getTitle().setFont(new Font("sans-serif",Font.PLAIN,18));
    //用来控制Y轴
NumberAxis numberaxis = (NumberAxis) p.getRangeAxis();
//用来控制X轴
CategoryAxis domainAxis = p.getDomainAxis();
    //设置X轴坐标上的文字
    domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
    //设置X轴的标题文字 
    domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12)); 
    //设置Y轴坐标上的文字 
    numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12)); 
    //设置Y轴的标题文字 
    numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12)); 
    //这句代码解决了底部汉字乱码的问题 
    chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12)); 
/****************************************************************/
try{
//设置存放生成图片的路径  大小
ChartUtilities.saveChartAsJPEG(new File("c:\\chart.jpg"), chart, 800, 600);
System.out.println("保存成功````");
}catch(Exception se)
{
System.out.println("保存失败```");
}


至此,一个简单的柱状图就生成了,是不是很简单。这个只能算做很简单的入门,想要学习更加深入的自己可以找相关资料继续研究。和别人分享也是很开心的事情,希望可以和大家多交流交流。
希望编程方面的高手可以指点小弟一二,我喜欢交朋友!

你可能感兴趣的:(html,游戏,编程,jfreechart)