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";
}
分享到:
相关推荐
这个教程可能是为了帮助用户理解如何利用JFreeChart来生成柱状图、饼状图等常见类型的图表。下面我们将深入探讨JFreeChart的基本使用、柱状图和饼状图的创建方法,以及如何结合源码进行学习。 首先,JFreeChart库...
JFreeChart是一款强大的Java库,用于创建各种图表,包括柱状图、饼状图和3D饼状图等。在Java编程中,JFreeChart是一个非常实用的工具,它允许开发者轻松地在应用程序中集成数据可视化功能。下面将详细介绍如何使用...
JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...
在这个特定的场景中,我们将关注如何使用JFreeChart生成3D饼状图和柱状图,并将这些图像保存到指定的文件目录下。 首先,我们需要了解JFreeChart的基本用法。JFreeChart的核心是`ChartFactory`类,它提供了静态方法...
JFreeChart是一个流行的Java库,用于生成各种类型的图表,包括折线图、饼图和柱状图,甚至堆栈柱状图。这个压缩包中的"CreateChartServiceImpl.java"文件很可能包含了一个实现这些功能的服务类。 首先,我们要理解...
jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707
java+jfreechart+struts 生成柱状图 java jfreechart 柱状图 java jfreechart 柱状图 谁需要完整项目可以去http://download.csdn.net/source/2665347
JFreeChart创建柱状图,之前网上很多都是创建柱状图的,静态的。数据更新之后柱状图随之改变,代码实现详见附件代码。所需要的jar包是jfreechart-1.0.13.jar,gnujaxp.jar,jcommon-1.0.16.jar
《使用JFreeChart生成曲线、柱状图、饼状图、分布图展示到JSP》 JFreeChart是一个强大的Java库,它允许开发者创建各种类型的图表,包括曲线图、柱状图、饼状图和分布图等。在当前JS图表库盛行的时代,JFreeChart...
Java中的JFreeChart库是一个强大的工具,用于生成各种类型的图表,包括柱状图、饼状图和折线图。在本教程中,我们将深入探讨如何使用JFreeChart创建这些图表,以及如何用随机生成的数据作为数据源。 首先,...
在"JFreeChar图表生成柱状图和饼状图源码"的压缩包中,我们很可能找到了创建这两种图表的示例源代码。 柱状图是一种常用的数据可视化工具,它将数据的每个类别表示为一个垂直或水平的矩形条,长度表示数值大小。...
Flex是一种基于ActionScript的开源框架,主要用于构建富互联网应用程序(RIA),而JFreeChart则是一个Java库,专门用于生成高质量的图表,包括饼状图、柱状图和曲线图等。 在Flex中,我们通常使用MXML和...
在JFreeChart中,`PieChartDemo1`是生成饼状图的一个典型例子。饼状图适合用于展示各个分类在整体中的占比,例如市场占有率、人口构成等。你可以改变扇区颜色,添加标签,甚至为每个扇区添加工具提示和URL链接。 ``...
JFreeChart生成柱形图完整测试代码 放在普通项目里运行main方法就能生成柱形图 不需要添加任何代码 可根据自己需要修改参数
在Java编程环境中,JFreeChart库是一个强大的工具,用于创建各种复杂的图表,包括柱状图、折线图和雷达图。这些图表对于数据可视化和数据分析非常有用,可以帮助开发者直观地展示大量信息。以下是对给定文件中每个...
jfreechart 生成折线图、饼图、柱状图、堆栈柱状图 jfreechart 是一个功能强大且流行的 Java 图表库,用于生成各种类型的图表,包括折线图、饼图、柱状图、堆栈柱状图等。在本文中,我们将使用 jfreechart 1.0.8a ...
利用jfreechart绘制的横向立体柱状图,横坐标是数值,纵坐标是数据分类,需要提前引入jfreechart包文件到工程里,才不会报错
jFreeChart是java编程语言中一个功能强大、开源免费的图表库,能够生成各种类型的图表,包括曲线图、饼状图、柱状图等。通过jFreeChart,可以快速地生成高质量的图表,以满足不同领域的需求。 jFreeChart核心对象类...