Report--YahooYUI

本文介绍了一种用于构建统计图表的数据格式化方法,包括饼图和柱状图的JSON数据组装过程。通过特定的数据结构和处理方式,实现了图表数据的有效传递。
[b][color=red]开发者博客:[url]http://www.developsearch.com[/url][/color][/b]


/**
* 拼装统计报表 饼图 json yahooYui
*
* @param json
* @param res
* @throws UnsupportedEncodingException
* @throws Exception
*/
public void fetchContentTypeStatChartData(JSONObject json,GetContentTypeStateResponse res) throws UnsupportedEncodingException
{
StringBuffer JSON_STR = new StringBuffer();
if( null != res.getContentTypes() && res.getContentTypes().size() > 0 )
{
JSON_STR.append("[");
ContentTypeState content = res.getContentTypes().get(0);
JSON_STR.append("{ response: '电子书刊', count: "+content.getBooks().substring(0,content.getBooks().length()-1)+" },");
JSON_STR.append("{ response: '媒体教材', count: "+content.getMedia().substring(0,content.getMedia().length()-1)+" },");
JSON_STR.append("{ response: '案例', count: "+content.getCaze().substring(0,content.getCaze().length()-1)+" },");
JSON_STR.append("{ response: '量规集', count: "+content.getGauge().substring(0,content.getGauge().length()-1)+" },");
JSON_STR.append("{ response: '教学工具和模板', count: "+content.getTemplate().substring(0,content.getTemplate().length()-1)+" },");
JSON_STR.append("{ response: '文献资料', count: "+content.getDocument().substring(0,content.getDocument().length()-1)+" },");
JSON_STR.append("{ response: '索引目录', count: "+content.getIndexCata().substring(0,content.getIndexCata().length()-1)+" },");
JSON_STR.append("{ response: '课程', count: "+content.getCourse().substring(0,content.getCourse().length()-1)+" }");
JSON_STR.append("]");
json.put("chartDataSource", JSON_STR.toString());
}
}


/**
* 拼装统计报表 柱状图 json yahooYui
*
* @param json
* @param res
* @throws UnsupportedEncodingException
* @throws Exception
*/
/*public void fetchSingleExerciseDetailChartData(JSONObject json,GetSingleExerciseDetailResponse res) throws UnsupportedEncodingException
{
StringBuffer JSON_STR = new StringBuffer();
if( null != res.getDetails() && res.getDetails().size() > 0 )
{
JSON_STR.append("[");

String a_str = "{ category:'A', ";
String b_str = "{ category:'B', ";
String c_str = "{ category:'C', ";
String d_str = "{ category:'D', ";
String e_str = "{ category:'E', ";
for( int i=0; i<res.getDetails().size(); i++)
{
SingleExerciseDetail single = res.getDetails().get(i);

a_str += "set"+i+" : "+single.getPercentA()+",";
b_str += "set"+i+" : "+single.getPercentB()+",";
c_str += "set"+i+" : "+single.getPercentC()+",";
d_str += "set"+i+" : "+single.getPercentD()+",";
e_str += "set"+i+" : "+single.getPercentE()+",";
}
a_str = a_str.substring(0,a_str.length()-1) + "},";
b_str = b_str.substring(0,b_str.length()-1) + "},";
c_str = c_str.substring(0,c_str.length()-1) + "},";
d_str = d_str.substring(0,d_str.length()-1) + "},";
e_str = e_str.substring(0,e_str.length()-1) + "}";

JSON_STR.append(a_str);
JSON_STR.append(b_str);
JSON_STR.append(c_str);
JSON_STR.append(d_str);
JSON_STR.append(e_str);
JSON_STR.append("]");

json.put("chartDataNum", res.getDetails().size());
json.put("chartDataSource", JSON_STR.toString());
}
}


<!-- yahooyui start -->
<script src="<%=baseurl%>/js/yui/build/yahoo-dom-event/yahoo-dom-event.js"></script>
<script src="<%=baseurl%>/js/yui/build/element/element-min.js"></script>
<script src="<%=baseurl%>/js/yui/build/datasource/datasource-min.js"></script>
<script src="<%=baseurl%>/js/yui/build/json/json-min.js"></script>
<script src="<%=baseurl%>/js/yui/build/swf/swf-min.js"></script>
<script src="<%=baseurl%>/js/yui/build/connection/connection-min.js"></script>
<script src="<%=baseurl%>/js/yui/build/charts/charts-min.js"></script>
<style type="text/css">
#chartdiv {
width: 1000px;
height: 400px;
}
.chart_title {
display: block;
font-size: 2.2em;
font-weight: bold;
margin-bottom: 0.4em;
text-align:center;
}
</style>
<!-- yahooyui end -->

//页面图形展示 饼图
if(data.chartDataSource!=null){
YAHOO.widget.Chart.SWFURL = "${ctx}/js/yui/build/charts/assets/charts.swf";
var chartJson = eval(data.chartDataSource);
var myDataSource = new YAHOO.util.DataSource(chartJson);
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
myDataSource.responseSchema = {
fields: [ "response", "count" ]
};
var mychart = new YAHOO.widget.PieChart( "chartdiv", myDataSource,
{
dataField: "count",
categoryField: "response",
style:
{
padding: 20,
legend:
{
display: "right",
padding: 10,
spacing: 5,
font:
{
family: "Arial",
size: 13
}
}
}
});
}


//页面图形展示 柱状图
if(data.chartDataSource!=null){
YAHOO.widget.Chart.SWFURL = "${ctx}/js/yui/build/charts/assets/charts.swf";

var _fields = "['category'," ;
var _seriesDef = "[" ;
for(i=0; i<data.chartDataNum; i++){
if(i==(data.chartDataNum-1)){
_fields += "'set"+i+"'";
_seriesDef += "{displayName: '',yField: 'set"+i+"',style:{size:10} }";
}else{
_fields += "'set"+i+"',";
_seriesDef += "{displayName: '',yField: 'set"+i+"',style:{size:10} },";
}
}
_fields += "]";
_seriesDef += "]";
_fields = eval(_fields);
_seriesDef = eval(_seriesDef);

var chartJson = eval(data.chartDataSource);
var myDataSource = new YAHOO.util.DataSource(chartJson);
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
myDataSource.responseSchema = {
fields: _fields
};
var mychart = new YAHOO.widget.ColumnChart( "chartdiv", myDataSource,
{
xField: "category",
series: _seriesDef,
polling: 10000
});
}


基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制方法。通过结合数据驱动技术与Koopman算子理论,将非线性系统动态近似为高维线性系统,进而利用递归神经网络(RNN)建模并实现系统行为的精确预测。文中详细阐述了模型构建流程、线性化策略及在预测控制中的集成应用,并提供了完整的Matlab代码实现,便于科研人员复现实验、优化算法并拓展至其他精密控制系统。该方法有效提升了纳米级定位系统的控制精度与动态响应性能。; 适合人群:具备自动控制、机器学习或信号处理背景,熟悉Matlab编程,从事精密仪器控制、智能制造或先进控制算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①实现非线性动态系统的数据驱动线性化建模;②提升纳米定位平台的轨迹跟踪与预测控制性能;③为高精度控制系统提供可复现的Koopman-RNN融合解决方案; 阅读建议:建议结合Matlab代码逐段理解算法实现细节,重点关注Koopman观测矩阵构造、RNN训练流程与模型预测控制器(MPC)的集成方式,鼓励在实际硬件平台上验证并调整参数以适应具体应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值