JFreeChart练习
1,jsp页面
<body>
<h3>请选择喜欢的项目</h3>
<s:form action="viewResult">
<s:checkbox name="interest" label="足球" fieldValue="football" labelposition="left"/>
<s:checkbox name="interest" label="篮球" fieldValue="basketball" labelposition="left"/>
<s:checkbox name="interest" label="排球" fieldValue="volleyball" labelposition="left"/>
<s:checkbox name="interest" label="羽毛球" fieldValue="badminton" labelposition="left"/>
<!--
<s:checkboxlist list="#{'computer':'计算机','math':'数学'}" name="interest" label="课程" labelposition="top"></s:checkboxlist>
-->
<s:submit value="submit"/>
</s:form>
</body>
2,struts.xml配置文件
<action name="viewResult" class="com.test.action.ViewResultAction">
<result name="success" type="chart">
<param name="height">450</param>
<param name="width">500</param>
</result>
</action>
3,对应的action
package com.test.action;
import java.awt.Font;
import java.util.List;
import java.util.Map;
import org.jfree.chart.ChartFactory;
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.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class ViewResultAction extends ActionSupport {
private List<String> interest;
private JFreeChart chart;
public JFreeChart getChart() {
chart = ChartFactory.createBarChart3D("兴趣统计结果", "项目", "结果",
getDateset(), PlotOrientation.VERTICAL, true, true, false);
chart.setTitle(new TextTitle("兴趣统计结果",new Font("宋体",Font.BOLD,12)));
CategoryPlot plot = chart.getCategoryPlot();
//垂直轴
CategoryAxis axis = plot.getDomainAxis();
axis.setLabelFont(new Font("宋体",Font.BOLD,12));
axis.setTickLabelFont(new Font("宋体",Font.BOLD,12));
axis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
//水平轴
NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
numberAxis.setLabelFont(new Font("宋体",Font.BOLD,12));
return chart;
}
// public void setChart(JFreeChart chart) {
// this.chart = chart;
// }
public List<String> getInterest() {
return interest;
}
public void setInterest(List<String> interest) {
this.interest = interest;
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
@SuppressWarnings("unchecked")
private void increaseResult(List<String> list) {
// 像调用数据库一样//将最新的数据放在Application中
ActionContext context = ActionContext.getContext();
Map map = context.getApplication();
for (String str : list) {
if (null == map.get(str)) {
map.put(str, 1);// 自动装箱,复习一下
} else {
map.put(str, (Integer) map.get(str) + 1);
}
}
}
@SuppressWarnings("unchecked")
private CategoryDataset getDateset() {
DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
this.increaseResult(this.getInterest());
//得到application中的数据并放在数据集里面
ActionContext context = ActionContext.getContext();
Map map = context.getApplication();
dataSet.setValue((Integer) map.get("football"), "", "足球");
dataSet.setValue((Integer) map.get("basketball"), "", "篮球");
dataSet.setValue((Integer) map.get("volleyball"), "", "排球");
dataSet.setValue((Integer) map.get("badminton"), "", "羽毛球");
return dataSet;
}
}
==============
个人学习
分享到:
相关推荐
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的高质量图表,包括柱状图、饼图、线图、散点图以及更多复杂图形。...记住,不断练习和实验是掌握任何技术的关键,祝你在JFreeChart的学习道路上取得成功!
《JfreeChart实战练习解析》 在IT领域,数据可视化是一项至关重要的技能,它能够帮助我们更好地理解并呈现复杂的数据信息。JFreeChart是Java平台上的一个开源图表库,提供了丰富的图表类型,如柱状图、饼图、线图、...
Java有JFreeChart、JavaFX等库,可生成图表,帮助理解数据分布和模型预测。 通过这个项目,数据挖掘初学者将有机会深入理解数据挖掘的全过程,并掌握使用Java进行数据挖掘的技巧。实践中遇到的问题和解决方案将...
通过这个项目,学习者可以掌握如何创建窗口应用,使用Swing组件,理解事件处理机制,以及如何引入第三方库如JFreeChart来增强应用的功能。同时,这也是一个锻炼文件操作和数据管理能力的实例,有助于全面提升Java...
4. 可视化:绘制直方图、散点图、箱线图等,Java有多种图形库可以选择,如JFreeChart和JavaFX的Chart API,用于创建各种图表。 5. 数据分组与聚合:对数据进行分组操作,计算分组后的统计量,理解数据的结构和分布...
用的东西比较杂,主要为了学习一下知识呵呵: ssh2、dwr、jquery、extjs、jquery weekcalendar、jfreechart、jasperreport 联系人实现了拖动实现好友分组。可以把grid直接拖到tree,不同于其他的例子,拖动grid后会...
用的东西比较杂,主要为了学习一下知识呵呵: ssh2、dwr、jquery、extjs、jquery weekcalendar、jfreechart、jasperreport 联系人实现了拖动实现好友分组。可以把grid直接拖到tree,不同于其他的例子,拖动grid后会在...
用的东西比较杂,主要为了学习一下知识呵呵: ssh2、dwr、jquery、extjs、jquery weekcalendar、jfreechart、jasperreport 联系人实现了拖动实现好友分组。可以把grid直接拖到tree,不同于其他的例子,拖动grid后会在...
课件通常包含课程大纲、讲义、示例代码和练习题,帮助学生系统性地掌握知识。对于“软件工程学”这一主题,课件可能包括了软件生命周期模型(如瀑布模型、迭代模型、敏捷开发等)、软件设计原则(如模块化、高内聚低...
在这个"AI:人工智能练习"项目中,我们将聚焦于如何利用Java编程语言进行AI的实践应用。 Java作为一种广泛使用的面向对象的编程语言,因其跨平台兼容性、强大的性能以及丰富的库支持,成为AI开发的有力工具。特别是...
适合初学者作为练习,主要包括主要包括Java的图形图像、动画游戏、网络应用技术、Applet应用、XML、JFreeChart图表开发和PDF文档处理等内容,共计598个实例。
在讲解方式上,使用基础知识与具体实例相结合的方式对Hibernate进行了全面、深入、细致的讲解,使读者在学习的过程中可以通过具体的练习来加深对讲解内容的理解和把握。 本书在讲解Hibernate的同时,还介绍了经常与...
《Java Web开发实例大全(提高卷)》既适合Java Web程序员参考和查阅,也适合Java Web初学者,如高校学生、软件开发培训学员及相关求职人员学习、练习、速查使用。 目录 第1篇 流行组件应用篇 第1章 操作XML文件 第...
《Java Web开发实例大全(提高卷)》既适合Java Web程序员参考和查阅,也适合Java Web初学者,如高校学生、软件开发培训学员及相关求职人员学习、练习、速查使用。 目录 第1篇 流行组件应用篇 第1章 操作XML文件 第...
因此,练习涉及更多的字符串解析。 新的功能: 实现了基本的错误检查考虑到浮点不准确,将所有计算转换为 BigDecimal 添加了图形功能,允许用户将数据可视化为简单的条形图。 与 JFreeChart 库一起使用
【驾校考试系统】是一个基于Java技术开发的模拟真实驾考环境的应用程序,旨在为学员提供一个练习驾驶理论考试的平台。这个系统不仅包含了完整的考试流程,还包括了题库管理、用户管理、成绩统计等多个功能模块,有助...
总的来说,这个冠状病毒疫情实时监控源码项目涵盖了Java的基础语法、网络编程、数据处理、GUI开发、设计模式和软件工程等多个重要知识点,对于Java初学者来说,这是一个很好的实战练习,能够帮助他们提升技能并理解...
3、“条状图”项目可能涉及到数据可视化,学生需要学习如何使用Java的图形库(如JFreeChart)绘制条形图,理解如何将数据结构化并用图形表示。 4、“继承练习”是OOP的核心概念,通过此项目,学生能学习如何定义...
3. SWT图表:SWT扩展库(SWT-JFreeChart、SWT-Chart等)提供了绘制各种图表的功能。 通过这份SWT培训材料,你将能够学习如何使用SWT构建高效、美观的GUI应用,并掌握线程管理、布局设计和事件处理等核心技能。记得...
+ 前台的教师身份所要做的所有功能主要包括:新增试题、新增试卷、组织学生考试、组织学生练习等项目功能模块的测试 项目二:重庆旅游购物系统 * 发展时长:6个月 * 发展工具:MyEclipse、Dreamweave、oracle * ...