jfreechart生成柱状图与饼状图(入门)贴两段代码。
/**
* 生成柱状图
*/
public String genChannelNumBarChart() {
try {
@SuppressWarnings("unchecked")
List<Object[]> lst = channelService.getArticleNumByChannel();
int lstSize = lst.size();
double[][] data = new double[lstSize][1];
String[] rowKeys = new String[lstSize];
String[] columnKeys = new String[]{""};
int i = 0;
for (Object[] obj : lst) {
log.debug(obj[0] + "," + obj[1]);
data[i] = new double[] { Double.parseDouble(String
.valueOf(obj[1])) };
rowKeys[i] = String.valueOf(obj[0]);
i++;
}
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(
rowKeys, columnKeys, data);
JFreeChart chart = ChartFactory.createBarChart3D("栏目文章统计图", "栏目",
"文章数", dataset, PlotOrientation.VERTICAL, true, false,
false);
// 通用程序
TextTitle textTitle = chart.getTitle();
textTitle.setFont(new Font("黑体", Font.BOLD, 15));
CategoryPlot plot = chart.getCategoryPlot();
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setLabelFont(new Font("黑体", Font.BOLD, 15));
domainAxis.setTickLabelFont(new Font("黑体", Font.BOLD, 15));
ValueAxis valueAxis = plot.getRangeAxis();
valueAxis.setLabelFont(new Font("黑体", Font.BOLD, 15));
chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15));
String filename = ServletUtilities.saveChartAsPNG(chart, 600, 400,
null, this.getSession());
String graphURL = this.getRequest().getContextPath()
+ "/DisplayChart?filename=" + filename;
log.debug("graphURL:" + graphURL);
this.setAttribute("graphURL", graphURL);
this.setAttribute("filename", filename);
return "channelNumBarChart";
} catch (Exception e) {
e.printStackTrace();
}
return "channelNumBarChart";
}
/**
* 生成饼状图
* @return
*/
public String genChannelNumPieChart() {
try{
@SuppressWarnings("unchecked")
List<Object[]> lst = channelService.getArticleNumByChannel();
//设置数据集
DefaultPieDataset dataset = new DefaultPieDataset();
int i = 0;
for (Object[] obj : lst) {
log.debug(obj[0] + "," + obj[1]);
dataset.setValue(String.valueOf(obj[0]),
Double.parseDouble(String.valueOf(obj[1])));
i++;
}
//通过工厂类生成JFreeChart对象
JFreeChart chart = ChartFactory.createPieChart3D("栏目文章发布分布图",
dataset, true, false, false);
TextTitle textTitle = chart.getTitle();
textTitle.setFont(new Font("黑体",Font.BOLD,15));
PiePlot pieplot = (PiePlot) chart.getPlot();
pieplot.setLabelFont(new Font("宋体", 0, 12));
//没有数据的时候显示的内容
pieplot.setNoDataMessage("无数据显示");
pieplot.setCircular(false);
pieplot.setLabelGap(0.02D);
chart.getLegend().setItemFont(new Font("黑体",Font.BOLD,15));
//pieplot.getLegendItems().
//XYPlot xyPlot=(XYPlot)chart.getPlot();
//xyPlot.getRangeAxis().setLabelFont(new Font("黑体",Font.BOLD,15));
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300,
null, this.getSession());
String graphURL = this.getRequest().getContextPath()
+ "/DisplayChart?filename=" + filename;
this.setAttribute("graphURL", graphURL);
this.setAttribute("filename", filename);
return "channelNumPieChart";
}catch(Exception e){
e.printStackTrace();
}
return "channelNumPieChart";
}
分享到:
相关推荐
java的JFreeChart编写柱状图和饼状图及3D饼状图方法
JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...
项目中用到了一些图,要用JFreeChart生成,参考了一些资料,做了两天,分享一下!里面有柱状图,饼状图...
JFreeChart生成3D饼状图及柱状图,可把图片生成在指定文件目录下
flex jfreechart生成 饼状图 flex jfreechart生成 柱状图 flex jfreechart生成 曲线图 flex jfreechart生成 曲线图
jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707
java+jfreechart+struts 生成柱状图 java jfreechart 柱状图 java jfreechart 柱状图 谁需要完整项目可以去http://download.csdn.net/source/2665347
jfreeChart生成的线状图,饼状图,柱状图
jfreechat生成柱状图,饼状图,折线图,导出饼状图到pdf,excel.
源文件 博文链接:https://lansky07.iteye.com/blog/227571
JFreeChar图表生成柱状图和饼状图实例源代码。
利用jFreeChart做曲线图、饼状图、柱状图 其中也包含如何引用jFreeChart的jar包
java里用JFreeChart画柱状图、折线图、雷达图,三个封装好的方法,可以直接调用。
java制作jfreechart柱状图 饼状图 折线图 随机数字做的数据源 下载导入即可运行 内含jar包
JFreeChart创建柱状图,之前网上很多都是创建柱状图的,静态的。数据更新之后柱状图随之改变,代码实现详见附件代码。所需要的jar包是jfreechart-1.0.13.jar,gnujaxp.jar,jcommon-1.0.16.jar
jfreechart 生成折线图,饼图,柱状图,堆栈柱状图
JFreeChart生成柱形图完整测试代码 放在普通项目里运行main方法就能生成柱形图 不需要添加任何代码 可根据自己需要修改参数
jfreechart生成各种图表 柱状 饼状 折线 锥状
虽然现在JS做报表和图形展示已经非常普遍和漂亮了,但是不能忽略有jfreechart 这样一种东西! 这些翻阅资料,在看以前写的示例时发现了关于jfreechart 的简单示例,不管怎样发上来分享一下!
利用jfreechart绘制的横向立体柱状图,横坐标是数值,纵坐标是数据分类,需要提前引入jfreechart包文件到工程里,才不会报错