- 浏览: 1764170 次
- 性别:
- 来自: 大连
-
博客专栏
-
-
Spring数据库访问系列...
浏览量:174240
-
-
Android学习笔记
浏览量:369384
-
-
iBatis开发详解
浏览量:189848
-
-
Objective-C学习...
浏览量:100693
最新评论
-
iLidy:
引用[/c
Hibernate持久化对象的生命周期详解 -
fengzigogo:
您好,有这个项目架构的源码下载地址吗?
一种Java Web应用开发框架的构建(基于Struts2+Spring+FreeMarker)之一 -
spring_springmvc:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
用Maven构建Java Web开发环境(Jetty容器)之二 -
springdata_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Spring 3之MVC & Security简单整合开发(二) -
赵庆辉:
看帖回复是美德,楼主讲的很清晰明了,看了豁然开朗.
Java String对象的经典问题(new String())
首次看到Fusion Charts是在Bug Free上,有个统计功能,看到了这个数据报表,也是Flash实现的,和Open Flash Chart类似,但是数据格式完全不同。OFC使用JSON数据,而Fusion Chart使用XML数据,OFC是单文件的,而FC是多文件(不同的Flash显示不同类型的报表)。Fusion Charts的官方网站是http://www.fusioncharts.com/free ,可以下载开发包和查看示例。下载Fusion Charts Free后的开发包内有swf文件,示例代码和支持的JS文件。我们只要swf和js即可,开发环境自行搭建,非常简单,注意这里我们使用免费的Fusion Charts Free。
因为Fusion Charts的数据源是XML格式,那么就要准备生成XML的API,这有很多选择,如JDOM,DOM4J都不错。因为Hibernate默认只用了Dom4J来解析XML,那么为了避免过多引入JAR依赖,就使用Dom4j来生成XML文本。下面先对Dom4j做个初步的封装,使得使用起来方便一些。
获取的XML因为包含声明,而Fusion Chart中不需要,所以这里就从根标记处开始截取。下面来看看Fusion Chart解析XML的格式。取自官方网站的一个示例:
根标记是graph,其中有可配置的属性,可以参考官方文档,这里不详细列出了。单分类报表中使用set子标记作为数据,下面来看一个具体的数据源生成方法,使用了Struts2作为Web框架来处理请求。
数据的获取使用了Spring的JdbcTemplate来进行,方法如下:
数据表的结构可以参考http://sarin.iteye.com/admin/blogs/685354这篇,因为相同的演示,就用了同一个表结构。获取到数据遍历之后,就要在页面进行输出显示了,也很简单,页面如下:
使用setDataXML()方法获取传递过来的xmlStr,就是我们需要的XML数据。简单的报表这样就可以了。如果是多类别报表,只是在XML格式上有所不同,参考官方示例,重新编写XML即可。下面来看看生成的报表,非常的不错。
希望对使用者有用,欢迎交流。
兄弟啊,那个是通过hibernate去数据库中的数据方法,跟包没有关系的!
以前我年幼无知=-=
兄弟啊,那个是通过hibernate去数据库中的数据方法,跟包没有关系的!
感觉XML没有同时加载过来,可以跟踪一下JS
就在spring里配置一个service bean而已啊,适合自己就行了
这个是我自己封装的方法,当然找不到了
这个当然是个问题,而本文是主要来说明DOM4J的使用的
不明白,和这个有关系么?
难道你的系统很多统计图表
每个统计图表都写个对应的 ChartAction 吗?
那肯定不能了,演示就很简单了。实际应用应该使用工厂模式或者写一个助手类实现。
写个帮助类读XML
把图表信息、统计SQL配置到XML文件中
这样子就一个 action、一个jsp
通过不同的参数读取 xml 文件中的不同节点完成一个图表生成
要添加也方便,在XML文件加节点就是了
这样还是不方便,因为很多时候数据是放在数据库,而且dataSet的数量是不固定的,不管怎样,似乎现在都还没看到很好的封装方法
废话,谁的数据不在数据库里?
不想说太多
不明白,和这个有关系么?
难道你的系统很多统计图表
每个统计图表都写个对应的 ChartAction 吗?
那肯定不能了,演示就很简单了。实际应用应该使用工厂模式或者写一个助手类实现。
写个帮助类读XML
把图表信息、统计SQL配置到XML文件中
这样子就一个 action、一个jsp
通过不同的参数读取 xml 文件中的不同节点完成一个图表生成
要添加也方便,在XML文件加节点就是了
这样还是不方便,因为很多时候数据是放在数据库,而且dataSet的数量是不固定的,不管怎样,似乎现在都还没看到很好的封装方法
不明白,和这个有关系么?
难道你的系统很多统计图表
每个统计图表都写个对应的 ChartAction 吗?
那肯定不能了,演示就很简单了。实际应用应该使用工厂模式或者写一个助手类实现。
写个帮助类读XML
把图表信息、统计SQL配置到XML文件中
这样子就一个 action、一个jsp
通过不同的参数读取 xml 文件中的不同节点完成一个图表生成
要添加也方便,在XML文件加节点就是了
不明白,和这个有关系么?
难道你的系统很多统计图表
每个统计图表都写个对应的 ChartAction 吗?
那肯定不能了,演示就很简单了。实际应用应该使用工厂模式或者写一个助手类实现。
不明白,和这个有关系么?
难道你的系统很多统计图表
每个统计图表都写个对应的 ChartAction 吗?
因为Fusion Charts的数据源是XML格式,那么就要准备生成XML的API,这有很多选择,如JDOM,DOM4J都不错。因为Hibernate默认只用了Dom4J来解析XML,那么为了避免过多引入JAR依赖,就使用Dom4j来生成XML文本。下面先对Dom4j做个初步的封装,使得使用起来方便一些。
package org.xxx.core.util; import java.io.IOException; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; /** * 使用dom4j生成XML工具类 * * @author Sarin * */ public class XMLUtil { private Document document = null; public Document getDocument() { return document; } /** * 构造方法,初始化Document */ public XMLUtil() { document = DocumentHelper.createDocument(); } /** * 生成根节点 * * @param rootName * @return */ public Element addRoot(String rootName) { Element root = document.addElement(rootName); return root; } /** * 生成节点 * * @param parentElement * @param elementName * @return */ public Element addNode(Element parentElement, String elementName) { Element node = parentElement.addElement(elementName); return node; } /** * 为节点增加一个属性 * * @param thisElement * @param attributeName * @param attributeValue */ public void addAttribute(Element thisElement, String attributeName, String attributeValue) { thisElement.addAttribute(attributeName, attributeValue); } /** * 为节点增加多个属性 * * @param thisElement * @param attributeNames * @param attributeValues */ public void addAttributes(Element thisElement, String[] attributeNames, String[] attributeValues) { for (int i = 0; i < attributeNames.length; i++) { thisElement.addAttribute(attributeNames[i], attributeValues[i]); } } /** * 增加节点的值 * * @param thisElement * @param text */ public void addText(Element thisElement, String text) { thisElement.addText(text); } /** * 获取最终的XML * * @return * @throws IOException */ public String getXML() { return document.asXML().substring(39); } }
获取的XML因为包含声明,而Fusion Chart中不需要,所以这里就从根标记处开始截取。下面来看看Fusion Chart解析XML的格式。取自官方网站的一个示例:
<graph yAxisName='Sales Figure' caption='Top 5 Sales Person' numberPrefix='$' decimalPrecision='1' divlinedecimalPrecision='0' limitsdecimalPrecision='0'> <set name='Alex' value='25000' color='AFD8F8'/> <set name='Mark' value='35000' color='F6BD0F'/> <set name='David' value='42300' color='8BBA00'/> <set name='Graham' value='35300' color='FF8E46'/> <set name='John' value='31300' color='008E8E'/> </graph>
根标记是graph,其中有可配置的属性,可以参考官方文档,这里不详细列出了。单分类报表中使用set子标记作为数据,下面来看一个具体的数据源生成方法,使用了Struts2作为Web框架来处理请求。
package org.xxx.app.action; import java.util.HashMap; import java.util.List; import java.util.Map; import org.dom4j.Element; import org.xxx.core.util.XMLUtil; public class ChartAction extends BaseAction { private String xmlStr; public String getXmlStr() { return xmlStr; } public String chart() throws Exception { XMLUtil xml = new XMLUtil(); Element graph = xml.addRoot("graph"); xml.addAttribute(graph, "caption", "访问统计"); xml.addAttribute(graph, "subCaption", "浏览器类型统计"); xml.addAttribute(graph, "basefontsize", "12"); xml.addAttribute(graph, "xAxisName", "浏览器类型"); xml.addAttribute(graph, "decimalPrecision", "0");// 小数精确度,0为精确到个位 xml.addAttribute(graph, "showValues", "0");// 在报表上不显示数值 List browserList = getServMgr().getChartService().getStatsByType("browser"); for (int i = 0; i < browserList.size(); i++) { Map item = (HashMap) browserList.get(i); Element set = xml.addNode(graph, "set"); set.addAttribute("name", (String) item.get("statVar")); set.addAttribute("value", item.get("statCount").toString()); set.addAttribute("color", Integer.toHexString( (int) (Math.random() * 255 * 255 * 255)).toUpperCase()); } xmlStr = xml.getXML(); return "chart"; } }
数据的获取使用了Spring的JdbcTemplate来进行,方法如下:
private static final String SQL_GET_STATS = "select statVar,statCount from stats where statType=?"; public List getStatsByType(String type) { return jt.queryForList(SQL_GET_STATS, new Object[] { type }); }
数据表的结构可以参考http://sarin.iteye.com/admin/blogs/685354这篇,因为相同的演示,就用了同一个表结构。获取到数据遍历之后,就要在页面进行输出显示了,也很简单,页面如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Fusion Chart Test</title> <script type="text/javascript" src="${base}/js/FusionCharts.js"></script> </head> <body> <div id="chartDiv"></div> <script type="text/javascript"> var chart = new FusionCharts("${base}/charts/FCF_Column3D.swf", "0", "800", "600"); chart.setDataXML('${xmlStr}'); chart.render('chartDiv'); </script> </body> </html>
使用setDataXML()方法获取传递过来的xmlStr,就是我们需要的XML数据。简单的报表这样就可以了。如果是多类别报表,只是在XML格式上有所不同,参考官方示例,重新编写XML即可。下面来看看生成的报表,非常的不错。

希望对使用者有用,欢迎交流。
评论
29 楼
sjxinrui
2014-04-22
rzg813 写道
wolg_001 写道
请问下你用的是dom4j的哪个版本吧的包? 我的getServMgr() 为什么不能找到?
兄弟啊,那个是通过hibernate去数据库中的数据方法,跟包没有关系的!
以前我年幼无知=-=
28 楼
rzg813
2013-06-07
wolg_001 写道
请问下你用的是dom4j的哪个版本吧的包? 我的getServMgr() 为什么不能找到?
兄弟啊,那个是通过hibernate去数据库中的数据方法,跟包没有关系的!
27 楼
sarin
2012-12-26
chaizp 写道
我用的FusionCharts是3.1版的。
直接一句String chartHTMLCode=createChartHTML("FusionCharts/Doughnut3D.swf", "data.xml", "", "myFirst", 600, 300, false);就可以了
我也是访问数据库dom4j自动生成xml文件。
但我这里生成xml后页面不能马上加载,必须刷新下工程把xml文件刷出来才可以在页面看到数据。你这有这种问题吗?或有解决方法吗??
直接一句String chartHTMLCode=createChartHTML("FusionCharts/Doughnut3D.swf", "data.xml", "", "myFirst", 600, 300, false);就可以了
我也是访问数据库dom4j自动生成xml文件。
但我这里生成xml后页面不能马上加载,必须刷新下工程把xml文件刷出来才可以在页面看到数据。你这有这种问题吗?或有解决方法吗??
感觉XML没有同时加载过来,可以跟踪一下JS
26 楼
chaizp
2012-12-24
我用的FusionCharts是3.1版的。
直接一句String chartHTMLCode=createChartHTML("FusionCharts/Doughnut3D.swf", "data.xml", "", "myFirst", 600, 300, false);就可以了
我也是访问数据库dom4j自动生成xml文件。
但我这里生成xml后页面不能马上加载,必须刷新下工程把xml文件刷出来才可以在页面看到数据。你这有这种问题吗?或有解决方法吗??
直接一句String chartHTMLCode=createChartHTML("FusionCharts/Doughnut3D.swf", "data.xml", "", "myFirst", 600, 300, false);就可以了
我也是访问数据库dom4j自动生成xml文件。
但我这里生成xml后页面不能马上加载,必须刷新下工程把xml文件刷出来才可以在页面看到数据。你这有这种问题吗?或有解决方法吗??
25 楼
sarin
2012-03-29
sjxinrui 写道
能否新手向一点
就在spring里配置一个service bean而已啊,适合自己就行了
24 楼
sjxinrui
2012-03-29
能否新手向一点
23 楼
sjxinrui
2012-03-29
lz 你封装的那个方法我们该肿么办。。。不会弄啊
22 楼
sjxinrui
2012-03-28
这个是我自己封装的方法,当然找不到了
那怎么办。。
那怎么办。。
21 楼
sjxinrui
2012-03-28
我肿么看不懂啊。。。

20 楼
sarin
2011-11-22
wolg_001 写道
请问下你用的是dom4j的哪个版本吧的包? 我的getServMgr() 为什么不能找到?
这个是我自己封装的方法,当然找不到了
19 楼
wolg_001
2011-11-22
请问下你用的是dom4j的哪个版本吧的包? 我的getServMgr() 为什么不能找到?
18 楼
sarin
2011-03-21
lgb860316 写道
额~~~如果每次数据变化时,都要写变XML文件的话那效率可想而之。
在FusionCharts的帮助文档中有JS、JSP、ASP等多钟实现方式。无需写XML的。来段代码吧。JS实现的。
function ratingStorageGrah0(a,b,c){
var sum = a+b+c;
timely =a/sum*100;
obsolete =b/sum*100;
lack =c/sum*100;
var strXML = "";
strXML +="<chart bgColor='#ffffff' baseFont='宋体' baseFontSize='12' showValues='1' numberSuffix='%' formatNumberScale='0' showBorder='0'>";
strXML +="<set label='在线' value='"+a+"' />";
strXML +="<set label='离线' value='"+b+"' />";
strXML +="<set label='近线' value='"+c+"' />";
strXML +="</chart>";
var ratingStorageGrah0Div = document.getElementById("ratingStorageGrah0");
var chartX = ratingStorageGrah0Div.style.width;
var chartY = ratingStorageGrah0Div.style.height;
var chart = new FusionCharts("<%=path%>/js/public/fusioncharts/Charts/Pie3D.swf", "", chartX, chartY, "0", "0");
chart.setDataXML(strXML)
chart.render("ratingStorageGrah0");
}
在FusionCharts的帮助文档中有JS、JSP、ASP等多钟实现方式。无需写XML的。来段代码吧。JS实现的。
function ratingStorageGrah0(a,b,c){
var sum = a+b+c;
timely =a/sum*100;
obsolete =b/sum*100;
lack =c/sum*100;
var strXML = "";
strXML +="<chart bgColor='#ffffff' baseFont='宋体' baseFontSize='12' showValues='1' numberSuffix='%' formatNumberScale='0' showBorder='0'>";
strXML +="<set label='在线' value='"+a+"' />";
strXML +="<set label='离线' value='"+b+"' />";
strXML +="<set label='近线' value='"+c+"' />";
strXML +="</chart>";
var ratingStorageGrah0Div = document.getElementById("ratingStorageGrah0");
var chartX = ratingStorageGrah0Div.style.width;
var chartY = ratingStorageGrah0Div.style.height;
var chart = new FusionCharts("<%=path%>/js/public/fusioncharts/Charts/Pie3D.swf", "", chartX, chartY, "0", "0");
chart.setDataXML(strXML)
chart.render("ratingStorageGrah0");
}
这个当然是个问题,而本文是主要来说明DOM4J的使用的
17 楼
lgb860316
2011-03-21
额~~~如果每次数据变化时,都要写变XML文件的话那效率可想而之。
在FusionCharts的帮助文档中有JS、JSP、ASP等多钟实现方式。无需写XML的。来段代码吧。JS实现的。
function ratingStorageGrah0(a,b,c){
var sum = a+b+c;
timely =a/sum*100;
obsolete =b/sum*100;
lack =c/sum*100;
var strXML = "";
strXML +="<chart bgColor='#ffffff' baseFont='宋体' baseFontSize='12' showValues='1' numberSuffix='%' formatNumberScale='0' showBorder='0'>";
strXML +="<set label='在线' value='"+a+"' />";
strXML +="<set label='离线' value='"+b+"' />";
strXML +="<set label='近线' value='"+c+"' />";
strXML +="</chart>";
var ratingStorageGrah0Div = document.getElementById("ratingStorageGrah0");
var chartX = ratingStorageGrah0Div.style.width;
var chartY = ratingStorageGrah0Div.style.height;
var chart = new FusionCharts("<%=path%>/js/public/fusioncharts/Charts/Pie3D.swf", "", chartX, chartY, "0", "0");
chart.setDataXML(strXML)
chart.render("ratingStorageGrah0");
}
在FusionCharts的帮助文档中有JS、JSP、ASP等多钟实现方式。无需写XML的。来段代码吧。JS实现的。
function ratingStorageGrah0(a,b,c){
var sum = a+b+c;
timely =a/sum*100;
obsolete =b/sum*100;
lack =c/sum*100;
var strXML = "";
strXML +="<chart bgColor='#ffffff' baseFont='宋体' baseFontSize='12' showValues='1' numberSuffix='%' formatNumberScale='0' showBorder='0'>";
strXML +="<set label='在线' value='"+a+"' />";
strXML +="<set label='离线' value='"+b+"' />";
strXML +="<set label='近线' value='"+c+"' />";
strXML +="</chart>";
var ratingStorageGrah0Div = document.getElementById("ratingStorageGrah0");
var chartX = ratingStorageGrah0Div.style.width;
var chartY = ratingStorageGrah0Div.style.height;
var chart = new FusionCharts("<%=path%>/js/public/fusioncharts/Charts/Pie3D.swf", "", chartX, chartY, "0", "0");
chart.setDataXML(strXML)
chart.render("ratingStorageGrah0");
}
16 楼
風一樣的男子
2010-08-29
hellostory 写道
風一樣的男子 写道
sarin 写道
風一樣的男子 写道
sarin 写道
風一樣的男子 写道
曾经写过通用的
查询SQL、统计图配置都配在 XML 中
一个节点对应一个统计
查询SQL、统计图配置都配在 XML 中
一个节点对应一个统计
不明白,和这个有关系么?
难道你的系统很多统计图表
每个统计图表都写个对应的 ChartAction 吗?
那肯定不能了,演示就很简单了。实际应用应该使用工厂模式或者写一个助手类实现。
写个帮助类读XML
把图表信息、统计SQL配置到XML文件中
这样子就一个 action、一个jsp
通过不同的参数读取 xml 文件中的不同节点完成一个图表生成
要添加也方便,在XML文件加节点就是了
这样还是不方便,因为很多时候数据是放在数据库,而且dataSet的数量是不固定的,不管怎样,似乎现在都还没看到很好的封装方法
废话,谁的数据不在数据库里?
不想说太多
<!-- XXXX 按部门 --> <spvs name="XXXX"> <chart palette='1' caption='XXXX统计分析' yAxisName='业务量' rotateYAxisName='0' yAxisNameWidth='25' chartRightMargin='28' showvalues='1' decimals='0' formatNumberScale='0' formatNumber='0' useRoundEdges='1' legendBorderAlpha='0' baseFont="宋体" baseFontSize="14" outCnvBaseFont='宋体' link="/chart/multiSeriesItemChart.action?chartName=superviseItem" /> <datasets> <dataset seriesName="红牌" color="FF0000" showValues="1"> b </dataset> <dataset seriesName="黄牌" color="F6BD0F" showValues="1"> c </dataset> <dataset seriesName="预警" color="AFD8F8" showValues="1"> d </dataset> <dataset seriesName="正常" color="C7EDCC" showValues="1"> e </dataset> </datasets> <chartTypes> <!-- 如果为空或无子项,取全局配置 --> </chartTypes> <sql> <![CDATA[ SELECT DEP.DEPART_ABBR_NAME A, DEP.Depart_Id, SUM(DECODE(T.ACTIVE_STATUS, 9, 1, 0)) B, SUM(DECODE(T.ACTIVE_STATUS, 5, 1, 0)) C, SUM(DECODE(T.ACTIVE_STATUS, 1, 1, 0)) D, SUM(DECODE(T.ACTIVE_STATUS, 0, 1, 0)) E FROM DEPARTMENT DEP, S_INDEX T WHERE DEP.DEPART_ID = T.DEPART_ID(+) ${defCon} GROUP BY DEP.DEPART_ABBR_NAME, DEP.Depart_Id ]]> </sql> </spvs>
15 楼
hellostory
2010-08-24
風一樣的男子 写道
sarin 写道
風一樣的男子 写道
sarin 写道
風一樣的男子 写道
曾经写过通用的
查询SQL、统计图配置都配在 XML 中
一个节点对应一个统计
查询SQL、统计图配置都配在 XML 中
一个节点对应一个统计
不明白,和这个有关系么?
难道你的系统很多统计图表
每个统计图表都写个对应的 ChartAction 吗?
那肯定不能了,演示就很简单了。实际应用应该使用工厂模式或者写一个助手类实现。
写个帮助类读XML
把图表信息、统计SQL配置到XML文件中
这样子就一个 action、一个jsp
通过不同的参数读取 xml 文件中的不同节点完成一个图表生成
要添加也方便,在XML文件加节点就是了
这样还是不方便,因为很多时候数据是放在数据库,而且dataSet的数量是不固定的,不管怎样,似乎现在都还没看到很好的封装方法
14 楼
風一樣的男子
2010-07-14
sarin 写道
風一樣的男子 写道
sarin 写道
風一樣的男子 写道
曾经写过通用的
查询SQL、统计图配置都配在 XML 中
一个节点对应一个统计
查询SQL、统计图配置都配在 XML 中
一个节点对应一个统计
不明白,和这个有关系么?
难道你的系统很多统计图表
每个统计图表都写个对应的 ChartAction 吗?
那肯定不能了,演示就很简单了。实际应用应该使用工厂模式或者写一个助手类实现。
写个帮助类读XML
把图表信息、统计SQL配置到XML文件中
这样子就一个 action、一个jsp
通过不同的参数读取 xml 文件中的不同节点完成一个图表生成
要添加也方便,在XML文件加节点就是了
13 楼
sarin
2010-07-14
風一樣的男子 写道
sarin 写道
風一樣的男子 写道
曾经写过通用的
查询SQL、统计图配置都配在 XML 中
一个节点对应一个统计
查询SQL、统计图配置都配在 XML 中
一个节点对应一个统计
不明白,和这个有关系么?
难道你的系统很多统计图表
每个统计图表都写个对应的 ChartAction 吗?
那肯定不能了,演示就很简单了。实际应用应该使用工厂模式或者写一个助手类实现。
12 楼
風一樣的男子
2010-07-14
sarin 写道
風一樣的男子 写道
曾经写过通用的
查询SQL、统计图配置都配在 XML 中
一个节点对应一个统计
查询SQL、统计图配置都配在 XML 中
一个节点对应一个统计
不明白,和这个有关系么?
难道你的系统很多统计图表
每个统计图表都写个对应的 ChartAction 吗?
11 楼
left819
2010-07-14
不错的东东
10 楼
maodiesky
2010-07-14
以前帮公司搞过,所有的属性配置完全写了自己的一套界面,可以按照用户要求快速自定义图形属性,数据的获取有统一的接口
发表评论
-
HTML5/CSS3翻转动画(二)
2011-12-31 11:28 9644上一篇我们制作了两行文字的翻转效果,他们是同步进行的, ... -
HTML5/CSS3翻转动画(一)
2011-12-30 13:43 17734翻转动画效果,就是将页面的元素(文字,图片)加入围绕坐 ... -
HTML5/CSS3清爽后台番外篇-添加锁屏效果
2011-10-29 12:34 10308锁屏效果,也就是将屏幕置于模态,不允许用户触发任何动作 ... -
基于HTML5/CSS3的清爽后台管理页面(二)
2011-10-02 09:11 13124本文接上一篇继续来介绍企业级开发中后台管理页面的制作。 ... -
基于HTML5/CSS3的清爽后台管理页面(一)
2011-10-01 21:36 20703后台管理系统是企业级开发中必不可少的组成部分,一般来说 ... -
HTML5绘制饼图实例(二)
2011-08-15 21:16 11273本文接上一讲继续 ... -
HTML5绘制饼图实例(二)
2011-08-15 20:48 8本文接上一讲继续来说明 我们继续来制作饼图示例 ... -
HTML5绘制饼图实例(一)
2011-08-14 15:28 12387HTML5引入Canvas元素 ... -
我的视频教程《中小企业OA系统》
2011-07-29 22:27 7774经过5个月的制作,和华章合作的《中小企业OA系统》Ja ... -
从一道Neusoft题中想到的Java日志API
2011-03-05 09:45 6980先来看看这一季度 ... -
Apache POI组件操作Excel,制作报表(四)
2011-01-04 22:36 10241上一篇我们介绍了如何制作复杂报表的分析和设计,本篇结合 ... -
Apache POI组件操作Excel,制作报表(三)
2010-12-27 23:26 13317上一篇介绍了POI组件操作Excel时如何对单元格和行 ... -
Apache POI组件操作Excel,制作报表(二)
2010-12-19 16:04 18300本文接上一篇继续探究POI组件的使用。 现在来看 ... -
Apache POI组件操作Excel,制作报表(一)
2010-12-16 22:25 42422Apache的POI组件是Jav ... -
使用JACKSON解析JSON(HttpClient 3处理请求)
2010-11-24 18:50 27546在上一篇中,我们 ... -
使用XStream解析XML(使用HttpClient 4发送请求)
2010-11-07 12:55 9674本文意在简单说明XStream解析XML,配合Http ... -
从一道Neusoft题中想到的IO和Comparator
2010-09-23 10:36 2876Neusoft内部定期举 ... -
Spring支持的Quartz程序调度
2010-09-05 21:45 9724开发时有时会有这样一种需求,定期计算某些数据或者执行某 ... -
Servlet 3(用Java生成GET/POST请求)
2010-08-29 10:59 14662Servlet是SUN指定的Java服务器端编程规范, ... -
使用Javabean作为数据源的JasperReport报表(通过WebService/RMI调用数据)
2010-06-18 09:46 7234本文接http://sarin.iteye.com/b ...
相关推荐
这个数据集提供了2010年至2021年间加拿大各省的家庭支出与收入数据,这些数据根据人口统计和地理指标进行了分类。每行代表了年份(REF_DATE)、省份(GEO)以及编码后的支出或收入类型的唯一组合(COORDINATE)。以下是该数据集的关键特点及包含的列信息: 关键特点: 支出数据:家庭支出按照收入五分位数和支出类别进行分类。 收入数据:家庭收入值根据家庭类型、较年长成年人的年龄组别和收入水平细分。 地理位置匿名化:为了保护隐私,原始的地理位置标识符被替换为如“Province 1”这样的标签。 时间序列:涵盖了超过十年的财务数据(2010–2021),适合用于纵向经济和社会趋势分析。 包含的列: REF_DATE:记录年份(2010–2021) GEO:省份标签(例如,“Province 1”) Statistic:度量类型(例如,平均家庭支出) Before-tax household income quintile:税前家庭收入水平分组 Household expenditures, summary-level categories:支出类别 UOM:计量单位 COORD
1.【锂电池剩余寿命预测】GRU门控循环单元锂电池剩余寿命预测(Matlab完整源码和数据) 2.数据集:NASA数据集,已经处理好,B0005电池训练、测试; 3.环境准备:Matlab2023b,可读性强; 4.模型描述:GRU门控循环单元在各种各样的问题上表现非常出色,现在被广泛使用。 5.领域描述:近年来,随着锂离子电池的能量密度、功率密度逐渐提升,其安全性能与剩余使用寿命预测变得愈发重要。本代码实现了GRU门控循环单元在该领域的应用。 6.作者介绍:机器学习之心,博客专家认证,机器学习领域创作者,2023博客之星TOP50,主做机器学习和深度学习时序、回归、分类、聚类和降维等程序设计和案例分析,文章底部有博主联系方式。从事Matlab、Python算法仿真工作8年,更多仿真源码、数据集定制私信。
2000-2024年各省专利侵权案件结案数数据 1、时间:2000-2024年 2、来源:国家知识产权J 3、指标:专利侵权案件结案数 4、范围:31省 5、用途:可用于衡量知识产权保护水平
- 使用`<div>` 容器组织游戏界面,包含得分显示、游戏画布和操作按钮 - 支持三种游戏模式选择(一般模式、困难模式、无敌模式) - 移动端和桌面端兼容,提供触摸和键盘两种控制方式 2. CSS样式 : - 采用Flex布局实现页面居中显示 - 使用Grid布局实现方向按钮的排列 - 定义了游戏容器的阴影、圆角等视觉效果 - 为按钮添加了hover效果和过渡动画 3. JavaScript逻辑 : - 使用Canvas API实现游戏渲染 - 实现了蛇的移动、食物生成、碰撞检测等核心游戏逻辑 - 支持三种游戏模式,不同模式对应不同的游戏速度和规则 - 使用localStorage保存最高分记录 - 实现随机颜色生成,使游戏更具趣味性 代码整体结构清晰,功能完整,具有良好的可扩展性和可维护性。
台区终端电科院送检文档
内容概要:本文详细介绍了一个基于强化学习(RL)的飞机升阻力特性预测模型的实现过程。首先,定义了飞机空气动力学环境,包括状态空间、动作空间以及目标——预测升力系数(Cl)和阻力系数(Cd)。接着,通过生成模拟数据并进行预处理,创建了用于训练的数据集。然后,构建了一个神经网络代理模型,用于联合编码状态和动作,并预测升阻力系数。最后,实现了PPO算法来训练强化学习代理,使其能够根据当前状态选择最优动作,并通过不断迭代提高预测精度。文中还提供了完整的代码实现和详细的注释。 适合人群:航空航天领域的研究人员、机器学习工程师、对强化学习感兴趣的开发者。 使用场景及目标:适用于需要预测飞机升阻力特性的应用场景,如飞行器设计优化、性能评估等。目标是通过强化学习方法提升预测模型的准确性,从而为实际工程提供可靠的理论支持和技术手段。 其他说明:本文不仅涵盖了模型的设计与实现,还包括了数据生成、预处理等多个环节,有助于读者全面理解整个建模过程。同时,提供的代码可以作为研究和开发的基础,方便进一步扩展和改进。
cmock ut aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
lsm6d datasheet
风力发电机传动机构的设计(增速器)
genesys-zu(5ev)配置petalinux(从安装到嵌入)
django自建博客app
Android项目原生java语言课程设计,包含LW+ppt
幼儿园预防肺结核教育培训课件资料
STM32F103RCT6单片机控制气泵和电磁阀的开关 1、气泵和电磁阀的开和关均为开关量,实现控制方法有多种,比如继电器,但是继电器动作有噪声且体积较大,更好的方法为使用mos管。 2、mos管的选型:mos管选择主要注意两个参数即可,一是导通的电流,二是耐压值,并且常用NMOS管,根据要求,气泵和电磁阀供电电压为12V,所以选择的mos管耐压值要大于12V,这里选用耐压值为30V的MOS管,并且导通电流为5.8A。
因文件较多,数据存放网盘,txt文件内包含下载链接及提取码,永久有效。失效会第一时间进行补充。样例数据及详细介绍参见文章:https://blog.csdn.net/T0620514/article/details/146916073
将 Windows 系统中 “C:\windows\fonts” 目录下的所有字体文件
智能量测终端最新标准
滑道式提升机及其控制电路的设计.zip
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。