直接生成3D柱状图:
public class Report {
public static void main(String[] args) {
// 创建一个柱状图
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
// 装载数据
dataset.setValue(6, "Profit", "Jane");
dataset.setValue(3, "Profit2", "Jane");
dataset.setValue(7, "Profit", "Tom");
dataset.setValue(6, "Profit2", "Tom");
dataset.setValue(8, "Profit", "Jill");
dataset.setValue(9, "Profit2", "Jill");
dataset.setValue(5, "Profit", "John");
dataset.setValue(8, "Profit2", "John");
dataset.setValue(12, "Profit", "Fred");
dataset.setValue(11, "Profit2", "Fred");
// 产生柱状图
// JFreeChart chart =
// ChartFactory.createXYLineChart("标题","x轴标志","y轴标志","设置数据"
// ,"设置图形显示方向",是否显示图形,是否进行提示,是否配置报表存放地址);
// 图形显示方向:
// (1)HORIZONTAL:横向显示图形
// (2)VERTICAL:纵向显示图形
// 3D柱状图
JFreeChart chart = ChartFactory.createBarChart3D("销售统计图", "Salesman",
"Profit", dataset, PlotOrientation.VERTICAL, true, true, false);
try {
// // 创建图形显示面板
// ChartFrame cf = new ChartFrame("柱状图",chart);
// cf.pack();
// // 设置图片大小
// cf.setSize(500,300);
// // 设置图形可见
// cf.setVisible(true);
// 保存图片到指定文件夹
ChartUtilities.saveChartAsJPEG(new File("C:\\BarChart.jpg"), chart,
500, 300);
} catch (Exception e) {
System.err.println("Problem occurred creating chart.");
}
}
}
public class JFreeReport {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn = DriverManager
.getConnection("jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=;DatabaseName=library");
Statement stmt = conn.createStatement();
ResultSet rs = stmt
.executeQuery("select bookType, bookCount=count(*) from books group by bookType");
//第2步,从ResultSet得到CategoryDataset
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
while (rs.next()) {
String bookType = rs.getString("bookType");
int bookCount = rs.getInt("bookCount");
//这个例子并不够好,因为这里所有的数据共享了同一个维:“Count”。
//所以它实际上只是一个一维表:以bookType为维,以bookCount为值
//Count维其实并没有起到任何作用
//文档《使用 JFreeChart来创建基于web的图表》中的直方图才是二维表的好例子
dataset.setValue(bookCount, "Count", bookType);
}
/*
JfreeChart也提供了直接从Datasource/Connection
中获得Dataset的JDBCDataset,在本例中可以改用这个类
*/
//第3步,从Dateset中创建Chart
JFreeChart chart = ChartFactory.createBarChart("各种类别的书籍的册数", "类别",
"册数", dataset, PlotOrientation.VERTICAL, true, true, false);
//最后一步,导出图片到WEB
ChartUtilities.writeChartAsJPEG(response.getOutputStream(), chart,
640, 370);
//640和370分别代表Chart的宽度和高度
//其实可以根据ResultSet的行数来确定它的宽度
//根据数据的最大值来确定它的高度
//如果把Chart 放到报表中,就会失去这个灵活性
}
分享到:
相关推荐
JfreeChart学习总结JfreeChart学习总结
### JFreeChart学习总结 #### 一、为什么学习JFreeChart? 随着互联网技术的飞速发展,越来越多的应用程序转向了Web平台。这不仅包括传统的静态网页,也涵盖了那些需要复杂数据展示的应用,如报表系统。然而,从...
**JFreeChart学习总结** JFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序、Swing组件或Web应用中创建各种复杂的图表。这个库涵盖了多种图表类型,包括折线图、柱状图、饼图、散点图、甘特图等,能够...
**JFreeChart学习指南** JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing组件、Applet或Web应用中创建各种复杂的图表。这个库涵盖了多种图表类型,包括柱状图、饼图、线图、散点图、甘特图等,...
如果你还在java EE 门口徘徊,常用开发组件介绍>将是你最好的向导;如果你已经入门了,那恭喜你,你将更容易从全局上把握自己的学习方向...
### JFreeChart使用总结 #### 一、JFreeChart简介 JFreeChart是一个强大的Java图表绘制库,由JFree组织开发并维护。该库提供了一系列丰富的API,支持开发者创建多种类型的图表,包括但不限于饼图、柱状图、线图、...
**JFreeChart 学习指南** ...`JfreeChart学习总结_files`可能包含了相关的示例图片或其他辅助资源。 通过深入学习和实践,你可以利用JFreeChart创建出满足需求的、具有吸引力的数据图表,为你的Java应用增添视觉魅力。
总结而言,JFreeChart 不仅是一个功能强大的图表生成库,而且拥有活跃的社区支持,提供了详尽的文档和示例代码。无论是初学者还是有经验的开发者,都能够通过本文档快速上手并熟练掌握 JFreeChart 的使用技巧。
在本篇“JFreeChart学习笔记3-简单Line图形创建”中,我们将深入探讨如何使用JFreeChart库在Java环境中创建基本的线性图表。JFreeChart是一个强大的、开源的Java图表库,它允许开发者轻松地生成各种类型的图表,包括...
**JFreeChart 操作总结** JFreeChart 是一个强大的 Java 图表库,它允许开发者创建各种复杂的图表,如饼图、柱状图、...在实际开发中,根据具体需求进行深入学习和定制,JFreeChart 将成为你强大的数据可视化工具。
**jFreeChart学习资源概述** jFreeChart是一个强大的开源Java库,用于生成高质量的图表,包括线图、柱状图、饼图、散点图、甘特图等多种类型的图表。这个资源包包含了学习jFreeChart所需的所有关键元素,包括jar...
总结来说,JFreeChart是Java开发中不可或缺的工具,它提供了丰富的图表库和强大的定制能力,无论是在企业级应用还是个人项目中,都能展现出强大的图形处理能力。通过深入学习和实践,开发者可以利用JFreeChart轻松...
**JFreeChart 代码总结** JFreeChart 是一个流行的 Java 库,用于创建高质量的图表,包括线图、柱状图、饼图、散点图等。它在各种应用程序中被广泛使用,如报告、仪表板和数据分析工具。这篇博客文章([链接]...
《JFreeChart学习指南——深度探索数据可视化》 在数据科学和数据分析领域,有效的数据可视化是至关重要的。JFreeChart,作为一个强大的Java图表库,为我们提供了丰富的图表类型,包括柱状图、饼状图和曲线图等,...
**"jfreechart 总结.txt" 和 "JFreeChart.txt"** 文件可能包含了JFreeChart的使用总结、技巧、注意事项或者其他开发者的经验分享,对于学习和使用JFreeChart来说是非常宝贵的参考资料。 总的来说,JFreeChart是一个...
2. 易用性:FusionCharts提供了一套完整的API和示例代码,使得开发者能够快速上手,而jFreeChart的学习曲线相对较陡峭。 3. 平台兼容性:FusionCharts基于Web技术,因此可以跨平台运行,适用于移动设备和桌面系统,...
**JFreeChart是一种广泛使用的Java...总结来说,"JfreeChart各种图形案例"这个资源是一份宝贵的开发工具,无论你是初学者还是有经验的开发者,都可以从中受益,快速掌握JFreeChart的使用技巧,提升你的数据可视化能力。