<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="iniApp()" mouseOut="resize_handler(event)" mouseUp="resize_handler(event)" mouseMove="resize_handler(event)" viewSourceURL="srcview/index.html">
<!-- 水位库容关系曲线 -->
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Style>
.mystyle{
fontSize:14px;
fontFamily:"Arial";
fontWeight:bold;
}
</fx:Style>
<fx:Script>
<![CDATA[
import com.adobe.serialization.json.JSON;
import mx.charts.chartClasses.IAxis;
import mx.charts.chartClasses.IAxisRenderer;
import mx.charts.series.items.ColumnSeriesItem;
import mx.charts.series.items.LineSeriesItem;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.ResizeEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private var chardata:ArrayCollection = new ArrayCollection();
[Bindable]
private var clientHeight:Number ;
[Bindable]
private var clientWidth:Number ;
[Bindable]
private var title:String = "";
[Bindable]
private var colX:String = "";
[Bindable]
private var colYR:String = "";
[Bindable]
private var colYL:String = "";
[Bindable]
private var unitX:String = "";
[Bindable]
private var unitYR:String = "";
[Bindable]
private var unitYL:String = "";
[Bindable]
private var MinVal:Number = 0;
[Bindable]
private var MaxVal:Number = 0;
private var count:Number = 0;
private var num:Number = 0;
[Bindable]
public var expenses:ArrayCollection = new ArrayCollection([
{Month:"Jan1", Expensesx:-100,Expenses1:100,Expenses2:120},
{Month:"Feb2", Expensesx:-200,Expenses1:200,Expenses2:220},
{Month:"Mar3", Expensesx:-300,Expenses1:300,Expenses2:320},
{Month:"Mar4", Expensesx:-400,Expenses1:400,Expenses2:420},
{Month:"Mar5", Expensesx:-500,Expenses1:500,Expenses2:520},
{Month:"Mar6", Expensesx:-600,Expenses1:600,Expenses2:620},
{Month:"Mar7", Expensesx:-700,Expenses1:700,Expenses2:720},
{Month:"Mar8", Expensesx:-800,Expenses1:800,Expenses2:820},
{Month:"Mar9", Expensesx:-900,Expenses1:900,Expenses2:920},
{Month:"Mar10", Expensesx:-1000,Expenses1:1000,Expenses2:1020}
]);
private function resize_handler(event:Event):void{
clientHeight = ExternalInterface.call("function(){return document.body.clientHeight;}");
clientWidth = ExternalInterface.call("function(){return document.body.clientWidth;}");
}
private function iniApp():void{
this.addEventListener(ResizeEvent.RESIZE,resize_handler);
clientHeight = ExternalInterface.call("function(){return document.body.clientHeight;}");
clientWidth = ExternalInterface.call("function(){return document.body.clientWidth;}");
var element:Object = getParams();
if(typeof(element.url) != "undefined" && element.url != ""){
//service3.url = "http://localhost:9100/rrams/baseinfo.do?method=getData_Rzv_List";
service3.url = decodeURIComponent(element.url)+"&start=0&limit=10000";//"http://localhost:8100/rrams/baseinfo.do?method=getData_Flood_List&floodseason=1&name_id=402880fa28d8e8590128d916bb6a0013";
service3.send();
//Alert.show(decodeURIComponent("http%3A%2F%2Flocalhost%3A8100%2Frrams%2Fbaseinfo.do%3Fmethod%3DgetData_Flood_List%26floodseason%3D1%26name_id%3D402880fa28d8e8590128d916bb6a0013"));
}
}
private function charDataLoad(event:ResultEvent):void{
var rawData:String = String(event.result);
if(rawData != ""){
var arr:Array = (JSON.decode(rawData).root as Array);
var totalProperty:Number = (JSON.decode(rawData).totalProperty as Number);
var chartP:Array = JSON.decode(rawData).chart;
this.colYL = chartP[0].colYL;//y属性名称
this.colYR = chartP[0].colYR;//y属性名称
this.colX = chartP[0].colX;//x属性名称
this.unitX = chartP[0].unitX;//单位
this.unitX = this.unitX.replace("m3","m³").replace("m2","m²");
this.unitYL = chartP[0].unitYL;
this.unitYL = this.unitYL.replace("m3","m³").replace("m2","m²");
this.unitYR = chartP[0].unitYR;
this.unitYR = this.unitYR.replace("m3","m³").replace("m2","m²");
if(totalProperty>50){
this.num = Math.floor(totalProperty/10);
}else if(totalProperty>20){
this.num = Math.floor(totalProperty/5);
}else if(totalProperty>10){
this.num = Math.floor(totalProperty/2);
}else{
this.num = 1;
}
//这是取整数
if(typeof(chartP[0].MinVal) != "undefined"){
var min:Number = chartP[0].MinVal;
this.MinVal = min - Math.floor(chartP[0].MinVal/10);
}
if(typeof(chartP[0].MaxVal) != "undefined"){
var max:Number =chartP[0].MaxVal;
this.MaxVal = max + Math.floor(chartP[0].MaxVal/10);
}
this.chardata = new ArrayCollection(arr);
this.chardata.refresh();
}
}
private function getParams():Object {
var params:Object;
params = {};
var query:String = ExternalInterface.call("window.location.search.substring", 1);
if(query) {
var pairs:Array = query.split("&");
for(var i:uint=0; i < pairs.length; i++) {
var pos:int = pairs[i].indexOf("=");
if(pos != -1) {
var argname:String = pairs[i].substring(0, pos);
var value:String = pairs[i].substring(pos+1);
params[argname] = value;
}
}
}
return params;
}
private function dataTipFunc(item:Object):String {
var curObj:Object = item.item;
var curSeries:Object = Object(item.chartItem.element);
var str:String = "";
if(curSeries.displayName == "降雨量(mm)"){
var cSI1:ColumnSeriesItem = item.chartItem as ColumnSeriesItem;
str = "<font>时间:"+cSI1.xValue.toString()+ "<br>";
str += curSeries.displayName+":"+(0-(cSI1.yValue as Number)).toString();
str+="</font>";
}else{
var cSI:LineSeriesItem = item.chartItem as LineSeriesItem;
str = "<font>时间:"+cSI.xValue.toString()+ "<br>";
str += curSeries.displayName+":"+cSI.yValue.toString();
str+="</font>";
}
return str;
}
private function chariniApp(){
char_date.filters = [];
}
public function CategoryFunction(axis:LinearAxis,item:Object):Object {
return(item.Country.State);
}
function ccclabelFunction(axisRenderer:IAxisRenderer,label:String):String {
count ++;
if((count % this.num) == 0){
return label;
}else{
return "";
}
}
private function labelFunction3(value:Object, preValue:Object, axis:IAxis):String {
var currentValue:Number = Number(value);
return (-currentValue).toString();
}
]]>
</fx:Script>
<fx:Declarations>
<mx:HTTPService id="service3" resultFormat="text" result="charDataLoad(event)"/>
<mx:Parallel id="showEffects">
<mx:WipeRight duration="5000"/>
<mx:Pause duration="1000" />
<mx:Blur startDelay="410" blurXFrom="18" blurYFrom="18" blurXTo="0" blurYTo="0" duration="300" filter="addItem"/>
<mx:Dissolve id="dissolveIn" duration="1000" alphaFrom="2.0" alphaTo="3.0"/>
<mx:Fade alphaFrom="10" alphaTo="10" duration="5000"/>
</mx:Parallel>
</fx:Declarations>
<mx:HBox backgroundColor="White" id="char_date" width="100%" height="{this.clientHeight}" textAlign="center" initialize="chariniApp" >
<mx:CartesianChart styleName="mystyle" id="linechart1" dataProvider="{this.expenses}" width="{this.clientWidth - this.legendbox.width-10}" height="{this.char_date.height}" seriesFilters="[]" dataTipFunction="dataTipFunc" showDataTips="true">
<!-- 背景 -->
<mx:backgroundElements>
<mx:GridLines horizontalChangeCount="1" >
<mx:horizontalAlternateFill>
<mx:SolidColor color="haloSilver" alpha="0.25" />
</mx:horizontalAlternateFill>
<mx:verticalAlternateFill>
<mx:SolidColor color="haloSilver" alpha="0.25" />
</mx:verticalAlternateFill>
</mx:GridLines>
</mx:backgroundElements>
<!-- 横轴-->
<mx:horizontalAxis>
<mx:CategoryAxis id="axis1"
dataProvider="{expenses}"
categoryField="Month"
/>
</mx:horizontalAxis>
<!-- 横轴渲染器 -->
<mx:horizontalAxisRenderers>
<mx:AxisRenderer id="horAxisRend"
axis="{axis1}"
placement="top"
/>
</mx:horizontalAxisRenderers>
<!-- 纵轴渲染器 -->
<mx:verticalAxisRenderers>
<mx:AxisRenderer id="vertAxisRend"
axis="{axis2}"
verticalAxisTitleAlignment="vertical"
placement="left" />
<mx:AxisRenderer id="vertAxisRend2"
axis="{axis3}"
placement="right"/>
</mx:verticalAxisRenderers>
<!-- 数据系列 -->
<mx:series>
<mx:ColumnSeries xField="Month" yField="Expensesx" displayName="降雨量(mm)">
<mx:verticalAxis>
<mx:LinearAxis title="降雨量(mm)" id="axis2" labelFunction="labelFunction3"/>
</mx:verticalAxis>
</mx:ColumnSeries>
<mx:LineSeries yField="Expenses1" xField="Month" form="curve" displayName="流量m²/s">
<mx:verticalAxis>
<mx:LinearAxis id="axis3" minimum="0" maximum="1200" title="流量m²/s"/>
</mx:verticalAxis>
</mx:LineSeries>
<mx:LineSeries yField="Expenses2" xField="Month" form="curve" displayName="预报流量m²/s">
<mx:verticalAxis>
<mx:LinearAxis id="axis4" title="预报流量m²/s" minimum="0" maximum="1200"/>
</mx:verticalAxis>
</mx:LineSeries>
</mx:series>
</mx:CartesianChart>
<mx:VBox id="legendbox" width="100">
<mx:Legend styleName="mystyle" dataProvider="{linechart1}" id="legend" direction="vertical" />
</mx:VBox>
</mx:HBox>
</s:Application>
相关推荐
政府科技管理者如何提升科技成果评估的准确性与透明度?.docx
政府科技管理者如何提升科技成果评估的准确性与透明度?
TIPTOP报表提示:foreach: 字元轉換至數字程序失敗.
客制一个TIPTOP报表提示:foreach: 字元轉換至數字程序失敗. 把提示框的提示内容展开后内容如下: 01213, 00000, "MAX INSTANCES may not exceed %s" // *Cause: MAX INSTANCES specified on the command line too large. // *Action: Resubmit the command with a smaller MAXINSTANCES 根据(2)FOREACH无资料
双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)
内容概要:本文详细介绍了基于Simulink平台构建的双闭环PWM整流器VOC(虚拟磁链定向控制)与SVPWM(空间矢量脉宽调制)相结合的仿真模型,系统阐述了三相电压型PWM整流器在电压定向控制策略下的建模方法与控制实现。通过设计外环直流电压控制与内环电流控制的双闭环结构,实现了对整流器的高功率因数运行、能量双向流动及动态性能优化的精确调控。结合SVPWM调制技术,有效提升了直流侧电压利用率并显著降低输出电流谐波含量,增强了系统的整体效率与稳定性。该仿真模型适用于新能源发电、电动汽车充电系统、微电网等高性能电能变换应用场景,文档还配套提供了丰富的学习资源与技术支持渠道,便于深入研究与工程实践。; 适合人群:面向电气工程、自动化、电力电子及相关专业的高校学生、科研人员以及从事新能源、智能电网、电力传动等领域研发工作的工程师;尤其适合已具备自动控制理论、电力电子变换技术和MATLAB/Simulink仿真基础的专业人士进一步深化学习与应用。; 使用场景及目标:①深入理解PWM整流器的工作机理及其双闭环控制系统的架构设计;②掌握VOC控制与SVPWM调制的协同工作机制,提升系统动静态响应性能;③支撑科研课题、课程设计、毕业设计或实际工程项目中的整流器控制系统开发与验证;④作为高级电能变换技术的学习范例,促进对现代电力电子系统控制策略的综合理解与创新能力培养。; 阅读建议:建议结合文中提供的百度网盘链接与公众号资源,下载完整的Simulink仿真模型进行实操演练,在MATLAB环境中调整控制器参数并观察仿真结果,深入剖析控制逻辑与系统响应特性;同时可参考同系列资源如PI双闭环控制、电网不平衡工况下的控制策略等案例,开展对比分析与拓展研究,全面提升系统建模与控制设计的综合能力。
topitp页面顶部轻量级提示
toptip 页面顶部轻量级提示 $.toptip('操作成功',success) $.toptip('操作失败',error) $.toptip('警告', warning) $.toptip('警告',2000,warning)
两路半桥LLC谐振变换器软开关Simulink仿真(模拟谐振参数不同、分裂电容)
内容概要:本文围绕两路半桥LLC谐振变换器的软开关技术展开,基于Simulink平台构建了详细的仿真模型,重点研究了不同谐振参数(如谐振电感、谐振电容)以及分裂电容结构对系统性能的影响。通过开环与闭环控制策略的对比分析,探讨了变换器在启动过程中的动态响应特性与稳定性,并实现了软启动设计,有效降低了启动冲击。仿真内容涵盖谐振腔的工作模态、ZVS(零电压开关)与ZCS(零电流开关)的实现条件,以及分裂电容对电压均衡和效率的优化作用,全面展示了LLC变换器在高频高效电源中的应用潜力。; 适合人群:电力电子、电气工程及相关专业的高校研究生、科研人员及从事开关电源设计的工程技术人员。; 使用场景及目标:①用于深入理解LLC谐振变换器的工作原理与软开关实现机制;②为高频高效率DC-DC变换器的研发提供仿真验证平台;③支撑科研项目中的拓扑优化与控制算法设计,尤其适用于需要分裂电容结构提升性能的场合。; 阅读建议:建议结合电力电子基础理论,先掌握LLC谐振变换器的基本工作模态,再逐步深入仿真模型细节,重点关注参数扫描与闭环动态响应的仿真结果,以实现理论与实践的有效结合。
双Buck电路并联VDCM下垂控制(Simulink仿真实现)
内容概要:本文提供了一个基于Plecs软件的全桥LLC谐振变换器高精度仿真模型,旨在通过系统化建模与仿真手段深入剖析LLC谐振变换器的工作原理、动态响应特性及关键参数设计方法。该模型完整涵盖主电路拓扑结构、软开关实现机制、谐振参数配置与闭环控制策略等核心内容,支持对变换器的效率优化、电压调节能力、谐波抑制性能及瞬态响应等关键指标进行全面评估,适用于电力电子领域的科研分析、工程设计与教学实践。; 适合人群:具备电力电子技术基础及相关仿真经验的高校研究生、科研机构研究人员以及从事高频开关电源、DC-DC变换器开发的工程技术人员。; 使用场景及目标:①深入理解全桥LLC谐振变换器的软开关实现机理与谐振腔参数(如Lr、Cr、Lm)的设计方法;②验证并优化电压/频率闭环控制策略,提升系统动态性能与稳定性;③作为高校课程或培训项目的教学案例,帮助学生掌握高频谐振变换器的建模、仿真与分析流程。; 其他说明:该仿真模型可与MATLAB/Simulink等工具联合使用,便于进行控制系统算法开发与系统级协同仿真;建议使用者结合理论计算、仿真调试与实验验证,形成“设计-仿真-验证”的完整闭环,以全面提升对LLC变换器系统级理解与工程应用能力。
antv/g2图表tooltip自定义并展示坐标之外的数据
首先使用itemTpl自定义tooltip效果是这样的tooltip展示坐标之外的数据 感觉Antv文档很不详细,写这块时找了好久才找到方法,现在记一下,方便今后的观看和其他遇到此问题的同学解决办法。 itemTpl this.chart.tooltip({ showCrosshairs: true, // 展示 Tooltip 辅助线 shared: true, showMarkers: false, containerT
BLE天线设计避坑:NRF52832官方50欧姆阻抗匹配的3个常见误区
本文深入解析NRF52832蓝牙SoC天线设计中的常见误区,重点探讨50欧姆阻抗匹配的3个关键问题:PCB板材介电常数差异、匹配元件寄生参数及VSWR测试。通过实测数据和优化方案,帮助工程师规避设计陷阱,提升BLE通信性能。
Flex ActionScript去掉字符串前后空格
导入这个包:import mx.utils.StringUtil; 使用这方法:StringUtil.trim(str);
gsplat在windows本地部署
3DGS的cuda提效和优化内存的版本gsplat,使得在有一定GPU计算能力的电脑上也能够尝尝3DGS的效果。我在2025年的开年之初尝试配置过gsplat,由于过程中遇到很多问题,最终还是有一些windows上字符编码的问题,没有跑通,最近看gsplat的github更新了3DGUT,优化了反射和二次折射,以及适用于非线性相机模型,如鱼眼相机等。在data目录下下载好了360_v2的数据,进入之后images文件夹是原始分辨率的图像,images_2是下采样系数为2的数据,以此类推。
别再瞎调参数了!用MATLAB fmincon优化傅里叶级数,为你的机器人设计“完美”激励轨迹
本文详细介绍了如何利用MATLAB的fmincon优化器设计机器人激励轨迹,通过优化傅里叶级数参数,解决传统试错法的低效问题。文章涵盖了目标函数设计、约束条件转化及优化算法选择,帮助工程师实现高精度的系统辨识和动力学参数优化。
用myEclipse8.5 + flex4 + Spring BlazeDS Integration + Blaze + Gilead整合过程
以下是框架整合顺序(前提条件是,myEclipse8.5与Flash Bulider4整合在一起);1、先建立一个普通web工程2、右键webroot,选择import -> general ->file system,选中BlazeDS文件夹,会自动把BlazeDS的配置文件自动加入web工程3、添加flex项目类型,修改flex的src路径和flex服务器路径4、配置流行的S2SH框架5、配置 Spring BlazeDS Integration 和 Gilead
别再手动算考勤了!教你用Python+企业微信API自动生成月度报表
本文介绍如何利用Python和企业微信API构建自动化考勤分析系统,实现从数据获取到可视化报表生成的全流程自动化。通过企业微信打卡接口获取数据,使用Pandas进行高效清洗和分析,并生成Excel和HTML格式的报表,大幅提升考勤统计效率。系统支持智能判定考勤状态,如迟到、早退等,并可通过定时任务实现月度自动化运行。
[RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnectio
[RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: http://localhost:8080/WebRoot/mes
STM32CubeMx+stm32f407+FreeRTOS+LAN8720实现LWIP以太网UDP TCP数据收发功能
单片机实现LWIP的调试
基于深度学习的时间序列预测
深度学习在时间序列数据中应用广泛,学术界已经有很多深度学习模型来适应不同领域的时间序列数据集的多样性。那么到底有哪些基于深度学习的时间序列预测模型?他们的优缺点是什么?让我们一起来看一下。
flex读取外部XML文件方式
<br />在Flex中我们经常使用xml文件,因为Flex支持强大的E4X功能,读取xml相当简洁。<br /> 总结一下常用的读取XML配置文件的方法:<br /> 1. 使用Model标签形式<br /> 首先声明Model标签,<br /> <mx:Model id="model" source="conf/configuration.xml"/><br /> xml形如:<br /> <config><br />
RK3588 部署 YOLOv5s 实战:多线程加速从 16FPS 飙升到 120FPS(含性能优化)
因为RK3588包含了3个NPU核心,支持3个核心同时工作、双核合作、以及单核工作。我们可以使用线程池来加速。线程池是一种长街的并发编程模型,它用于管理和复用线程,以提高多线程程序的性能和效率。线程池通常包含以下主要组件:1、任务队列:任务队列用于存储待执行的任务。这些任务可以是函数、方法或其他需要多线程环境中执行的操作。2、线程池管理:线程池管理器负责创建、销毁和管理线程。它会监视任务队列中的任务,根据需要创建线程,执行任务,并在任务完成后将线程放回池中以供重用。
Flex3Flex4的list组件设置滚动条偏移量&显示隐藏的办法
flex3.verticalScrollPosition = 90;flex4.scroller.viewport.verticalScrollPosition = 2900.2;
北斗导航 | 卡尔曼滤波与因子图优化对比(附图优化matlab代码)
- 历史数据利用:因子图通过滑动窗口保留历史状态,优化时联合多帧数据;卡尔曼滤波仅依赖当前和上一帧状态 。 - 迭代优化:因子图通过多次迭代逼近最优解,卡尔曼滤波仅单次更新 。 - 误差抑制:因子图的多次线性化可有效抑制非线性误差(如GNSS伪距观测的非线性) 。
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
ascb.util包下载与ascb.util.DateFormat、ascb.util.NumberUtilities使用
<br /> ascb包下载:http://rightactionscript.com/ascb/AS3CBLibrary.zip<br /> <br />ascb.util.DateFormat<br />数据格式化<br />帮助文档:http://www.person13.com/ascblibrary/documentation/ascb/util/DateFormat/Class.htm<br /> <br />package { import ascb.util.DateFormat;
STM32F407中文手册
STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。
JavaScript与ActionScript通讯例子
// --> // -->My JSP 'index.jsp' starting page
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
用MyEclipse6.0/6.5配置 Flex Builder3 和 Blazeds详解
一、准备工作:所需要的软件: FlexBuilder3: http://download.macromedia.com/pub/flex/flex_builder/FB3_win.exe MyEclipse 6.5:http://www.blogjava.net/vip01/archive/2008/10/15/234418.html Blazeds:(b
Flex Builder 3 下载安装与注册码(转)
下载地址一:http://download.macromedia.com/pub/flex/flex_builder/FB3_win.exe大小: 424 MB ;未进行压缩的 Flex Builder 3 安装文件不用注册登录,可以直接下载。下载地址二:http://trials.adobe.com/Applications/.../FB3_WWEJ.exe大小: 385.84 MB ; 已
Flex中的组件事件顺序
<br />preinitialize<br />initialize<br />enterFrame<br />resize<br />creationComplete<br />addedToStage<br /> <br />预初始化->初始化->进入桢->改变大小->创建结束->添加到场景。
885



被折叠的 条评论
为什么被折叠?



