原创 struts2.1.8.1+JFreeChart -1.0.13 的整合之-----教复杂的柱状图 收藏
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class BarChart3DDemo {
public static void main(String[] args) throws IOException
{
JFreeChart chart = ChartFactory.createBarChart3D(
"图书销售统计图", //标题
"图书", //横轴
"销量", //纵轴
getDataSet(),
PlotOrientation.VERTICAL,
true,
false,
false);
//重新设置图表标题,改变字体
chart.setTitle(new TextTitle("图书销售统计图",new Font("黑体",Font.ITALIC,22)));
//取得统计图表的第一个图例,并修改图例的字体
LegendTitle legend = chart.getLegend(0);
legend.setItemFont(new Font("宋体",Font.ITALIC,14));
CategoryPlot plot = (CategoryPlot)chart.getPlot();
//取得横轴
CategoryAxis categoryAxis = plot.getDomainAxis();
//设置横轴显示标签的字体
categoryAxis.setLabelFont(new Font("宋体",Font.BOLD,22)); //设置横轴的标签(字体)
//分类标签以45度角倾斜
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
categoryAxis.setTickLabelFont(new Font("宋体",Font.BOLD,18)); //设置横轴的每个柱子的标签(字体)
//取得纵轴
NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
//设置纵轴显示标签的字体
numberAxis.setLabelFont(new Font("宋体",Font.PLAIN,22));//设置纵轴的标签(字体)
//输出到图片文件
FileOutputStream fos = null;
fos = new FileOutputStream("bar3D1.jpg");
//将统计图表输出成JPG文件
ChartUtilities.writeChartAsJPEG(fos, 1, chart, 800, 600); //输出并生成文件到当前文件目录下
fos.close();
}
private static CategoryDataset getDataSet()
{
//提供创建统计图表的数据
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(45000, "北京", "疯狂JAVA讲义");
dataset.addValue(38000, "北京", "轻量级JAVA EE企业实战");
dataset.addValue(24000, "北京", "疯狂AJAX讲义");
dataset.addValue(32000, "北京", "STRUTS 2权威指南");
dataset.addValue(21000, "北京", "疯狂XML讲义");
dataset.addValue(37000, "上海", "疯狂JAVA讲义");
dataset.addValue(36000, "上海", "轻量级JAVA EE企业实战");
dataset.addValue(34000, "上海", "疯狂AJAX讲义");
dataset.addValue(42000, "上海", "STRUTS 2权威指南");
dataset.addValue(12000, "上海", "疯狂XML讲义");
dataset.addValue(42000, "广州", "疯狂JAVA讲义");
dataset.addValue(40000, "广州", "轻量级JAVA EE企业实战");
dataset.addValue(34000, "广州", "疯狂AJAX讲义");
dataset.addValue(18000, "广州", "STRUTS 2权威指南");
dataset.addValue(26000, "广州", "疯狂XML讲义");
return dataset;
}
}
效果图为:
忘了加数字了,呵呵
在加一下:
//让柱子上显示数值的方法---begin
BarRenderer renderer = new BarRenderer();
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
plot.setRenderer(renderer);
//让柱子上显示数值的方法---end
添加在fos前面即可
效果图为:
其实呢:
也可以这样来获取DataSet,并生成JFreeChart实例
public JFreeChart getChart(){
double[][] data = new double[][]
{
getLastScore(),
getScore()
};
String[] rowKeys = {this.getLastYear()+"年",this.getThisYear()+"年"};
String[] columnKeys = { "一月", "二月", "三月", "四月", "五月","六月",
"七月", "八月", "九月", "十月", "十一月","十二月"};
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
JFreeChart chart = ChartFactory.createBarChart3D("营业厅检查记录柱状图", "月份", "历史检查成绩", dataset, PlotOrientation.VERTICAL, true, true, false);
return chart;
}
文章来源:http://blog.csdn.net/aiouwen521/archive/2010/11/24/6033117.aspx
分享到:
相关推荐
在Java编程语言中,利用JFreeChart库实现实时曲线图是一种常见的数据可视化技术,尤其适用于需要实时监控或展示数据变化的应用场景。JFreeChart是一个开源的Java图表库,提供了丰富的图表类型和自定义选项,使得...
### Java报表JFreeChart开发知识点总结 #### 1. 简介 ##### 1.1 什么是JFreeChart JFreeChart是一款免费且开源的Java图表库,它提供了多种类型的图表绘制功能,如饼图、条形图、折线图等。JFreeChart适用于各种Java...
本教程由 java1234 出品,旨在帮助Java开发者掌握 JFreeChart 的使用,通过视频形式深入浅出地讲解关键概念和技术。 JFreeChart 的核心功能包括: 1. **图表类型**:JFreeChart 支持多种图表类型,如柱状图(Bar...
对于大数据集,JFreeChart 支持缓存和延迟渲染技术,以提高性能和响应速度。 9. **学习资源**: 开发者可以参考 JFreeChart 官方文档、示例代码以及社区论坛,获取详细的使用指南和常见问题解答。 10. **拓展...
标题中的“java+jfreechart 做股票日线数据查看系统”表明这是一个使用Java编程语言,结合JFreeChart库来实现的项目,主要用于展示股票的日线数据,即每日的开盘价、收盘价、最高价、最低价以及交易量等关键信息。...
这个项目“JSP调用Java Bean在网页上动态生成柱状图.zip”提供了一种实现这一功能的方法,它利用了JFreeChart库,使得在Java Servlets或JSP页面上生成图表变得更加简单。以下是对这个项目及其关键组成部分的详细解释...
引入JfreeChart能够很好地解决这些问题,并且支持图表的共享和在线更新,为基于JSP(Java Server Pages)动态网页技术的图表生成提供了一个高效的解决方案。 #### Applet的安全性和局限性 1. **安全性问题**: - ...
Java报表技术在软件开发中扮演着重要角色,用于数据可视化和信息传递。JFreeChart是一个强大的开源库,专为Java平台设计,用于生成各种图表,包括柱状图、饼图、线图、散点图、甘特图等。本教程通过一系列视频和源码...
JFreeChart是一个强大的开源Java库,它提供了丰富的图表生成功能,可以满足开发者在各种应用场景下的需求。这篇博文将深入探讨如何使用JFreeChart生成图片并将其在Web应用中显示。 首先,我们需要了解JFreeChart的...
标题:JFreeChart 技术详解 JFreeChart 是一款强大的 Java 图表库,由 JFreeChart 公司开发并开源在 SourceForge.net 上。这个库包含了 JFreeReport(报表解决方案)、JFreeChart(Java 图形解决方案)、JCommon...
**JFreeChart** 是一个Java库,用于生成高质量的图表,包括曲线图、柱状图、折线图、饼图以及甘特图等。它在Java应用和Web应用中广泛使用,尤其是对于数据可视化和报告生成。JFreeChart库不仅支持静态图表,还能够...
通过以上的介绍,我们可以看到 JFreeChart 作为一个强大的图表库,可以有效地帮助我们进行数据可视化,而结合 SNMP 技术,可以进一步获取网络设备的实时状态,为监控和管理提供直观的展示手段。在实际开发中,这两个...
3. **兼容性**:JFreeChart 可以在 Java SE 和 Java EE 环境下运行,与 Swing、AWT、JavaServer Faces (JSF) 和 Servlets 等技术无缝集成。 4. **动态更新**:可以实时更新图表,适应动态数据变化,如股票价格、...
**JFreeChart 1.5.0:Java 开源图表库详解** JFreeChart 是一个广泛使用的 Java 图形库,其版本1.5.0 提供了丰富的图表绘制功能,适用于各种应用程序,包括桌面应用、Web 应用以及服务器端应用。这个开源项目自2001...
jFreeChart是一个强大的Java图表库,它提供了多种类型的图表,包括折线图、柱状图、饼图、散点图、甘特图以及复杂的3D图表等。这个库广泛应用于报表、数据分析、监控系统等领域,因为它能够帮助开发者轻松地在应用...
JFreeChart有一个活跃的开发者社区,提供技术支持和更新。遇到问题时,可以在官方论坛或Stack Overflow上寻求帮助,通常会有经验丰富的用户给出解答。 总之,JFreeChart是一个强大而灵活的Java图表库,通过深入...
7. **与其他技术集成**:作为Java库,JFreeChart 可以方便地与Spring、Struts等框架集成,也可以在Servlet或JSP中使用,生成图表动态网页。你可以在Web应用中调用这些服务方法,生成图表并以图像格式返回给客户端。 ...
在Java编程环境中,JFreeChart库是一个强大的工具,用于创建各种复杂的图表,包括股票时序图。本项目将介绍如何利用JFreeChart库从文本文件中读取股票数据,并将其可视化为时序图,这对于数据分析和展示至关重要。...
JFreeChart是Java的一个强大的图形库,它提供了丰富的图表类型,包括线图、柱状图、饼图等,非常适合用于数据可视化。本项目结合Applet和JFreeChart,目的是实现在网页上动态展示曲线走势图。 首先,理解Applet的...