cols雷达气象雷达图怎么看?

阿利·伯克级驱逐舰
已有 25 次阅读&
阿利·伯克级驱逐舰
“阿利·伯克”(Arleigh Burke)级为“宙斯盾”驱逐舰,顾名思义为装备“宙斯盾”(Aegis)武器系统的驱逐舰。首舰舷号为DDG5I,所以亦称为DDG5I级。DDG51级策划于70年代中期,研制这级舰的目的有两个:一是用于替换从年服役的老导弹驱逐舰,60年代初建成的10艘“孔兹”(Coonts)级和23艘“”(Adams)级导弹驱逐舰90年代初都将退役;二是新研制的这级驱逐舰能够作为“提康德罗加”(Ticonderoga)级“宙斯盾”巡洋舰的补充力量。
.text_dir{z-index:1}.index-box{width:685border:1px solid #c6e1f6;padding:1font-family:margin-bottom:20color:#444;position:zoom:1}.index-box ul{margin:0!important}.index-box a{text-decoration:none}.index-box a:hover{text-decoration:underline}.index-box .hd{height:28background:#c6e1f6 no-padding-left:100position:zoom:1}.index-box .hd.no-logo{padding-left:10px}.index-box .hd .logo{position:top:0;left:0}.index-box .hd h5{font-size:14font-weight:line-height:28color:#000}.index-box .hd a{color:#000}.index-box .hd a.opt-hide{text-decoration:font-size:12float:width:32height:20margin-top:5margin-right:5line-height:20color:#0062b4;padding:0 10px 0 4background:url(/img/baike/module/arr.gif) no-repeat 32px -60outline:0}.index-box .hd a.opt-hide:visited{color:#0062b4}.index-box .hd a.opt-hide:hover{background-color:#efefef}.index-box .hd.st-hide{margin-bottom:10px}.index-box .hd.st-hide a.opt-hide{background:url(/img/baike/module/arr.gif) no-repeat 32px 7px}.index-box .idx{background-color:#fdf1e2;height:28line-height:28font-size:12color:#666;padding-left:8margin-top:3zoom:1}.index-box .idx-label{display:float:width:90px}.index-box .idx a{border:1px solid #fdf1e2;text-decoration:margin:4px 2display:width:16_width:15height:16text-align:line-height:16overflow:float:outline:0;font-family:font-weight:color:#999;cursor:default}.index-box .idx a.enable{color:#0062b4;cursor:pointer}.index-box .idx a.enable:visited{color:#0062b4}.index-box .idx a.enable:hover{border:1px solid #c6e1f6;background:#f3f9fb}.index-box .idx a.on{background:url(/img/baike/bgs3.png) no-repeat -2px -137border:1px solid #c6e1f5;font-weight:bold}.index-box .idx a:hover{text-decoration:none}.index-box table{border-collapse:collapse}.index-box .index-item{width:100%;margin-top:2px}.index-box .index-item table{width:100%;height:100%}.index-box .index-item table.first{margin-top:0}.index-item table.first td{border:0}.index-box .feed{list-style:none}.index-box .feed li{float:background:url("/img/baike/bgs3.png") no-repeat 2px -325line-height:20padding-left:12height:20padding-top:2margin:1px 4px 0 4font-size:12white-space:overflow:hidden}.index-box .normal-cols3 li{width:206px}.index-box .normal-cols4 li{width:149px}.index-box .normal-cols5 li{width:114px}.index-box .normal-cols6 li{width:92px}.index-box .normal-cols7 li{width:76px}.index-box .normal-cols8 li{width:64px}.index-box .normal-cols9 li{width:54px}.index-box .normal-cols10 li{width:46px}.index-box .l1-cols3 li{width:175px}.index-box .l1-cols4 li{width:126px}.index-box .l1-cols5 li{width:96px}.index-box .l1-cols6 li{width:76px}.index-box .l1-cols7 li{width:62px}.index-box .l1-cols8 li{width:52px}.index-box .l2-cols3 li{width:147px}.index-box .l2-cols4 li{width:104px}.index-box .l2-cols5 li{width:78px}.index-box .l2-cols6 li{width:60px}.index-box .level-1{background-color:#width:80font-size:14font-weight:padding:0 6px}.index-box td.style-bb2{border-bottom:2px solid #fff}.index-box td.style-br2{border-right:2px solid #fff}.index-box .level-2{background-color:#f3f9width:74font-size:12font-weight:padding:0 4px}.index-box .feed li.highlight{background-color:#c8e1f2}.index-box td.data-bg{background:#fafafa}.index-box td.no-level2{background-color:#f3f9fb}
新舰最初是在1976财政年度提出来进行概念设计研究的,当时称作DDX计划,至1979年完成了DDX的可行性研究,列入了美海军财政年度的造舰计划。
可行性研究的结果认为:DDX从造价上可以接受大量建造,新舰在对空、对海和反潜战方面具有编队协同作战的能力。
在审议财政年度的造舰计划时,当时的国防部长建议取消DDX计划,新建一种排水量t,航速29kn,以对空作战为主的。美海军的一项研究也表明,将来水面舰艇的替换中,最急需的是一种对空作战能力和攻击能力很强的导弹驱逐舰。因此,最终美海军推荐了这样一种以防空为主的导弹驱逐舰,并把DDX计划正式更名为DDGX计划。
申请这一计划的批准和签订首舰DDG51建造合同的时间是1985财政年度。
1980年进行概念设计,1981财政年度批准DDGX的概念设计。1981财政年度开始初步设计,编制最高需求书和最高规格书,制订总计划,签订DDGX舰的多功能相控阵雷达基本研究合同;并开始编制不同作战部门的系统规格书,作战系统的设计和软硬件的发展。1982财政年度开始作战系统的工程研究。
1983财政年度美海军完成了初步设计,并开始合同设计,1984年第二季度完成合同设计。1985年开始详细设计。
1985财政年度的预算中美海军得到了首舰DDG51的经费,总计11.2亿美元。(Bath)钢铁公司、英格尔斯(Ingalls)船厂和(Todd)船厂三家参加了竞争投标。日巴斯钢铁公司获得了建造DDG5l首舰的建造合同。
首舰以后命名为“阿利·伯克”号,它于1988年12月开工,1989年9月下水,1991年7月完工交付。
“阿利·伯克”级的建造计划有过几次变动。开始时计划建造63艘,其中31艘用于15个航母编队,12艘用于4个水面作战编队,10艘用于两栖编队,10艘用于10个海上补给编队。以后改为建造49艘,其中24艘用于12个航母编队,9艘用于3个水面作战编队,8艘用于两栖编队,8艘用于海上补给编队。
最终的建造计划是:“伯克”级I型和Ⅱ型建造28艘。首舰1985财年批准,1987财年批准2艘,财年各批准5艘,1991财年批准4艘,1992财年批准5艘,1993财年批准4艘,1994财年批准2艘。这28艘于1991年7月至1999年3月已全部服役。
ⅡA型的首舰1994财年批准,1995财年批准3艘,财年批准6艘,1998财年批准4艘。据报道,计划还要建造15艘。
根据《詹氏舰艇年鉴》的统计,DDG51级30艘已经服役,8艘正在建造中,4艘2000年开工。
“伯克”级的使命是用于航母编队和其他机动编队的护航,它是一级以防空为主的多用途大型。
该级舰的具体任务如下:
①在高威胁海区担负航母编队的防空、反潜护卫和对海作战任务。
②在高威胁海区担负水面作战编队的防空、反潜护卫和对海作战任务。
③为两栖作战编队和海上补给编队担负防空、反潜护卫和对海作战任务。
④对岸上重要目标用“战斧”巡航导弹进行常规打击和核打击。
概念设计 1980年
初步设计完成1982年9月
开始作战系统工程设计1982财政年度
合同设计开始1983年5月
合同设计完成1984年6月
签订详细设计和建造合同1985年3月
开工准备1986年7月
开始分段制造1987年5月
下水1989年9月
开始作战系统试验月
完工服役1991年 7月
阿利·伯克级驱逐舰 (17张)
DDG51级目前已发展为3型。第I型为DDG51-DDG71共21艘,接下去的7艘为Ⅱ型,第29艘开始为ⅡA型,ⅡA型2艘计划2000年7月服役,正在建造中的8艘和2000年要开工的4艘都是ⅡA型,ⅡA型已批准14艘,总数可能达到29艘。前21艘I型为基本型,I型中还稍有差别。前8艘装备的是SLQ-32(V)2电子战设备,只有告警能力;第8艘开始装备的 SLQ-32(V)3电子战系统,既有告警、又有干扰能力。
Ⅱ型舰与I型舰的区别与改进如下:
Ⅱ型舰装有SRS-1测向仪,这是一种舰载测向系统,可为超现距目标提供可靠的探测和跟踪;
Ⅱ型舰装有联合战术情报分配系统(JTIDS),这是一种军种间的情报分配系统;
Ⅱ型舰还装有TADⅨ-B型战术数据信息交换系统,用于舰艇间的警戒信息的交换;
Ⅱ型舰还将装备改进的SLQ-32(V)3电子战系统,并使用“标准-2”Ⅳ型舰空导弹。
ⅡA改进型满载排水量增大至 9217 t,主要改进内容如下:
增加了2个直升机库和直升机安全回收与搬运系统,为此延伸了尾部,牺牲了SQR-19拖曳阵声呐,直升机将能携带“企鹅”和“地狱之火”反舰导弹。
从DDG83开始以垂直发射的“海麻雀”导弹取代2座六管20 mm“密集阵”系统,这种新发展的“海麻雀”导弹具有反导能力。
增设了“翠鸟”猎雷声呐。
使用光纤技术,减轻重量,提高可靠性。
重新布置了SPY-1D相控阵雷达的阵面,并在该雷达系统中增加了初始跟踪处理器。
装了WLD-1遥控猎雷系统。
舰桥增加了光电潜望镜。
DDG51级由巴斯钢铁公司(Bath Iron Works)和英格尔斯船厂(Ingalls Shipbuilding)两家建造。
首舰DDG51的造价为14.63亿美元。Ⅱ型舰的估计造价为8.64亿美元(1993财政年度),ⅡA型舰的估计造价为9.5亿美元(1995年)。
满载排水量(t) 8422(DDG51),9033(Ⅱ),9217(ⅡA)
全长(m) 153.8,155.3(ⅡA型)
水线长(m) 142.0,143.6(ⅡA型)
舰宽(m) 20.4
水线宽(m) 18.0
满载吃水(m) 6.3
最大吃水(m) 9.9
型深(m) 12.7
长宽比 7.9
宽度吃水比 2.9
方形系数 0.519
棱形系数 0.626
水线面系数 0.788
肿剖面系数 0.829
航速(kn) 超过32(具体数字保密)
续航力(n mil/kn) 4400/20
舰员(名) 346(22名军官),33个备用铺位 Ⅱ A型:366(22名军官)
主动力系统:COGAG联合使用全燃动力,4台LM2500燃气轮机,74.24MW(4×25250hp)双轴。
ⅡA型:4台 LM.18MW(105000 hp)
螺旋桨:2个五叶变距桨,直径5.18 m。
电站:2500kW的“爱利生” 501-K343台。
导弹发射装置:MK41-0型(首)和MK41-1型(尾)各1组。1型为64单元,备弹61枚,0型为32单元,备弹29枚。从DDG59开始改为MK41-2型。
导弹:“标准”-2(Ⅳ)型舰空导弹,垂直发射,从Ⅱ型开始改为“标准”-2增程舰空导弹,ⅡA型从3号舰装LASM激光半主动导弹;“战斧”巡航导弹,垂直发射;“鱼叉”反舰导弹(2座四联装);“阿斯洛克”反潜导弹(垂直发射)。
舰炮:1座 MK45-2型 127 mm/54舰炮,2000年起可能装127mm/62舰炮,发射增程制导炮弹,由GPS制导。ⅡA型舰从3号舰开始装MK45-4型127mm/62舰炮,2座 MK15型六管20mm“密集阵”近程武器系统,正在装红外探测器,用来跟踪小艇(ⅡA型从第5艘开始以垂直发射的具有反导能力的“海麻雀”导弹取代之)。
鱼雷:2座三联MK32型鱼雷发射管,发射MK46-5或MK50型鱼雷,备雷24枚。
直升飞机:仅设SH-60B/F“海鹰”直升机降落平台和加油设施
ⅡA型:设2个直升机库和直升机安全回收与搬运系统。
雷达:1部SPY-1D多功能相控阵雷达,l部SPS-67(V)3对海警戒雷达,1部SPS-64 (V)9导航雷达,3部SPG-62火控雷达、1部URN25“塔康”空中战术导航雷达。
声呐:1部 SQS-53C球首声呐,1部 SQR-19B型拖曳线列阵声呐
红外探测器:红外探测系统(正在装)
电子战系统:2套SLQ-32(v)2或SLQ-32(V)3/SLY-2电子战系统(Ⅱ型舰开始),1套SLQ-25“水精”鱼雷诱饵,2座 MK36六管 SRBOC干扰火箭,“海蚊”干扰火箭。Ⅱ型舰开始装备SRS-l测向系统。
火控系统:1套MK99-3导弹火控系统,1套GWS34-0火炮火控系统(含MK160-4和光电系统),1套SWG-3MK37“战斧”巡航导弹,1套SWG-1A“鱼叉”导弹发射控制系统,l套MK116-7型反潜火控系统。
作战系统:1套“宙斯盾”对空作战系统,l套SQQ-89(V)6综合反潜作战系统。
作战数据系统:NTDS-5,设有:4A、11、14和 16号(从Ⅱ型开始)数据链,还将装22号链;SRR-l、WSC-3和USC-38卫星通信终端;SQQ-28舰载直升机数据链。Ⅱ型舰开始还装有TADⅨ-B战术数据信息交换系统。ⅡA型还设有TADIL-J战术数据信息链(或16号链),将装JMCIS联合海上。
⑴对空作战能力
①区域防空能力
对空警戒能力:SPY-1D相控阵雷达的对空警戒搜索能力为370-400km。
目标拦截能力:SPY-1D相控阵雷达、3部SPG-62与MK41导弹垂直发射系统相结合能够同时拦截约12-18个空中目标。I型舰使用的舰空导弹为“标准”-2,射程为73 km;Ⅱ型舰开始使用“标准”-2增程,射程增至 137 km。
②点防御能力
DDG51级的点防御有三种手段:
a.小口径炮近程武器系统。2座MK15六管20mm“密集阵”近程武器系统是DDG51级的主要末端硬防御武器,其有效拦截距离为1500m,命中概率为0.75。2座“密集阵”系统一首一尾布置,射界开阔。
b.中口径舰炮系统。l座MK45型127mm舰炮的对空作战距离为15km。
C.电子战软防御手段。I型舰配一套SLQ-32(V)2电子战系统,只能用于侦察目标的雷达信号,2座MK36六管干扰火箭用在适当的时机干扰来袭的反舰导弹。
Ⅱ型舰开始装SLQ-32(V)3/SLY-2电子战系统,既能侦察,又能干扰。
“伯克”级可能从2002年开始改装具有TBMD战区弹道导弹的低层防御能力。
⑵对海对陆作战能力
①对陆攻击能力
DDG5I级舰装备了对陆型的“战斧”巡航导弹,可以装备射程为2500 km,巡航高度为15-100 m,带20万吨TNT当量的,采用导航系统制导,圆概率误差80 m。带常规弹头的“战斧”射程为1300 km,圆概率误差10 m,改进型的射程提高到 1853 km。
②反舰攻击能力
a.“战斧”巡航导弹。反舰“战斧”巡航导弹的射程为460 km,“战斧”巡航导弹的远程探测和定位靠舰队海洋监视信息中心中继来的信息和空中预警飞机等提供。
b.“鱼叉”反舰导弹。2座四联装的“鱼叉”反舰导弹是DDG5I级舰的第二种对舰攻击导弹,射程为130 km,采用主动雷达寻的。“鱼叉”导弹的超视距探测和目标指示主要靠舰载直升机、警戒巡逻机、电子侦察设备和编队舰艇的数传目标指示等手段。
c. MK45型127 mm舰炮。MK45-2型127毫米舰炮的射程为23 km。
③反潜作战能力
a.反潜搜索能力。I型和Ⅱ型舰具有区域反潜搜索能力,装备有两种声呐:一种是SQR-19拖曳线列阵声呐,其探测距离为90n mile;另一种是SQS-53C球首声呐,其作用距离如下,直接声传播时为10~15n mile,利用海底反射时为15~20n mile,利用会聚区时为30~35n mile。
b. 反潜攻击能力。I型和Ⅱ型舰的反潜攻击能力由两个层次构成:第一个层次是垂直发射的“阿斯洛克”反潜导弹,其射程为1.9~16.7 km,携带的战斗部为 MK46-5鱼雷或MK50鱼雷;第二个层次是MK32鱼雷发射管,发射MK46-5或MK50鱼雷。MK46-5鱼雷40kn时航程为11 km,MK50鱼雷50 kn时的航程为15 km。I型和Ⅱ型舰本身不具备编队的区域反潜攻击能力,但编队协同作战时具有区域反潜攻击能力。
ⅡA型舰具有编队区域反潜攻击能力,其反潜攻击能力由三个层次组成;第一个层次是2架舰载的LAMPSⅢ SH-60B/F“海鹰”直升机,执行远程反潜攻击;第二、第三个层次是垂直发射的“阿斯洛克”反潜导弹和MK32型鱼雷发射管发射的MK46-5和MK50鱼雷。
c.反潜作战指挥能力。DDG51级装备有SQQ89(V)6综合反潜作战系统,它把SQS-53C、SQR-19和直升机声呐、数据链组成一个有机的系统,使该级舰在编队协同作战中具有区域反潜指挥能力。
前一篇:&&&&&&后一篇:&&&保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
单击提交则表示您同意developerWorks
的条款和条件。 .
所有提交的信息确保安全。
developerWorks 社区:
我的概要信息
选择语言:
现如今,随着 web2.0 及其相关技术越来越流行,web 矢量图技术也变得越来越重要,尤其是在 web 数据的可视化方面,矢量图技术发挥着不可磨灭的作用。Dojo,一个流行且强大的 web 开发控件库,有着一个专门针对 web 矢量图开发的控件包 -- "dojox.charting",里面封装了很多功能完善的矢量图控件。开发人员只需要基于已有的数据序列,再加上极少量的代码,就可以快速的画出复杂且美观的 web 矢量图形。与此同时,开发人员也可以通过设定相关参数以实现基于矢量图本身的交互效果。"dojox.charting"控件包不仅包括基本矢量图的接口(如:线状图、柱状图、饼状图等等),也包括很多复杂的工业级的矢量图控件(如股票走势图、雷达图、甘特图等等)。这篇文章会介绍一些"dojox.charting"的高级编程技巧,如 x,y 轴的特殊定制,plot 定制的一些特殊的参数,以及 3-D 的矢量图等等,让开发人员能够更加升入的了解 Dojo 的矢量图控件库。
, 软件工程师,
是 IBM 中国上海 UT / Dojo 部门的一名软件工程师,之前在 IBM Lotus Mashups 部门 和 UT / Click Track 部门工作,现在是 FIT / Dojo 部门的一员,主要从事 Dojo 控件库的研发工作,包括 Dojo 的claro主题的开发,dojox的可视化组件的开发。
简介Dojo 有一个非常强大的矢量图组件库—— dojox.charting 组件库,你只需要很少的代码,就能在页面上画出功能强大且美观的矢量图形(如柱状图,饼图等等)。与此同时,对于高级的用户, dojox.charting 也提供了许多定制参数,满足许多更为深层次的需要,如坐标轴的定制,矢量图类型的扩展定制以及基于数据序列(data series)的图形控件的定制。本文着力于探讨 dojox.charting 组件库的这些鲜为人知的高级功能。高级矢量图Dojox charting 图库除了很多基本的矢量图外(线图,柱状图等等),还有一些偏向于商业应用行业的图,举其中的 High-low 矢量图和 Candlesticks 矢量图为例:High-low 矢量图这种矢量图主要用于查看走势,以下是该图形的例图:图 1. High-low 矢量图该图形创建方法如下:清单 1. High-low 矢量图 (new dojox.charting.Chart(node)).
addPlot("default",{type: "Candlesticks", gap: 1, minBarSize: 2, maxBarSize: 5 }).
addAxis("x", {fixLower: "major", fixUpper: "major", includeZero: true}).
addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major", natural: true}).
addSeries("Series A", [
{ open: 24, close: 8, high: 24, low: 5 },
{ open: 8, close: 16, high: 22, low: 2 },
{ open: 16, close: 12, high: 19, low: 7 },
{ open: 12, close: 20, high: 22, low: 8 },
{ open: 20, close: 16, high: 22, low: 8 },
................
],{ stroke: { color: "green" }, fill: "lightgreen" }
render();可以看出,除了 series,其它图形属性与一般基本图形无异。Series 的设定多出了四种属性:“open”,“close”,“high”,“low”,一般情况下,对应着初始值,结束值,最高值和最低值。与此同时,该图形还可以设定 minBarSize 和 maxBarSize ,以限定该图形(plot)中柱子的最大宽度和最小宽度,单位为 px。Candlesticks 矢量图这种矢量图比 high-low 图更加完善,更多的用于股票行情走势,以下是该图形的例图:图 2. Candlesticks 矢量图该图形创建方法与 high-low 矢量图基本类似,如下:清单 2. Candlesticks 矢量图 (new dojox.charting.Chart(node)).
addPlot("default", {type: "Candlesticks", gap: 1}).
addAxis("x", {fixLower: "major", fixUpper: "major", includeZero: true}).
addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major", natural: true}).
addSeries("Series A", [
{ open: 20, close: 16, high: 22, low: 8 },
{ open: 16, close: 22, high: 26, low: 6, mid: 18 },
{ open: 22, close: 18, high: 22, low: 11, mid: 21 },
{ open: 18, close: 29, high: 32, low: 14, mid: 27 },
{ open: 29, close: 24, high: 29, low: 13, mid: 27 },
{ open: 24, close: 8, high: 24, low: 5 },
{ open: 8, close: 16, high: 22, low: 2 },
{ open: 16, close: 12, high: 19, low: 7 },
{ open: 12, close: 20, high: 22, low: 8 },
{ open: 20, close: 16, high: 22, low: 8 },
{ open: 16, close: 22, high: 26, low: 6, mid: 18 },
{ open: 22, close: 18, high: 22, low: 11, mid: 21 },
................
],{ stroke: { color: "green" }, fill: "lightgreen" }
render();可以看出,Series 设定的四种属性:“open”,“close”,“high”,“low”,可以说分别对应着股票的开盘点,收盘点,最高点以及最低点。Candlesticks 可以设定其“mid”属性,表示着当日平均值,更加接近股票走势图。Spider 矢量图这种图俗称蛛网图,又名雷达图。当你需要看到某个对象的一系列属性情况时,雷达图是再适合不过了。比如,需要查看某个人的综合素质(专业素质,管理能力,沟通能力等等),或者某个公司的各项财务指标(主营业务收入,辅助业务收入,营业外收入等等),用雷达图能非常清晰直观明了的看出来其各项指标的情况。雷达图还有一个最为强大的功能:比较不同对象间各个相同属性的优劣,如比较不同人的各项综合素质,又如:比较不同国家的各项经济环境指标。图 3. Spider 矢量图如图,可以清晰的看到各个国家(中,法,德,美等等)的各项经济环境指标(GDP 国民生产总值,Population 人口,Inflation 通货膨胀情况等等)。很明显,中国的人口最多,但是国民生产总值很一般。使用 Spider 矢量图也很容易:清单 3. Spider 矢量图 chart1 = new dojox.charting.Chart("test1");
chart1.setTheme(dojox.charting.themes.PlotKit.blue);
chart1.addPlot("default", {
type: "Spider",
labelOffset: -10,
divisions: 6,
axisColor:
"lightgray",
spiderColor:
seriesFillAlpha: 0.2,
spiderOrigin: 0.16,
markerSize:
precision:0,
spiderType: "polygon"
chart1.addSeries("China", {data: {"GDP": 2,"area": 6,"population": 2000,"inflation": 15,
"growth": 12}}, { fill: "blue" } );
chart1.addSeries("France", {data: {"GDP": 6,"area": 15,"population": 500,"inflation": 5,
"growth": 6}}, { fill: "red" });
chart1.addSeries("USA", {data: {"GDP": 3,"area": 20,"population": 1500,"inflation": 10,
"growth": 3}}, { fill: "green" });
chart1.addSeries("Japan", {data: {"GDP": 4,"area": 2,"population": 1000,"inflation": 20,
"growth": 2}}, { fill: "yellow" });
chart1.addSeries("Korean", {data: {"GDP": 10,"area": 10,"population": 800,"inflation": 2,
"growth": 18}}, { fill: "orange" });
chart1.addSeries("Canada", {data: {"GDP": 1,"area": 18,"population": 300,"inflation": 3,
"growth": 15}}, { fill: "purple" });
chart1.render();雷达图(或称蛛网图)有很多参数,这些参数都有默认值,使用时可以不用给它们一一设定,如果需要做一些高级个性化定制,可以参考如下参数设定描述:labelOffset:
// 坐标轴标签偏移量,负值代表箭头向外方向的
偏移量,以 px 为单位divisions:
// 坐标轴截段数axisColor:
"lightgray",
// 坐标轴的颜色spiderColor:
// 蛛网格的颜色axisWidth:
// 坐标轴的宽度spiderWidth:
// 蛛网格的宽度seriesFillAlpha:
// 各多边形序列图的透明度spiderOrigin:
// 各坐标轴起始点占坐标轴总长的比例markerSize:
// 多边形序列图顶点的半径spiderType:
// 蛛网格的形式,可以为多边形,也可以为圆形animationType: dojo.fx.easing.backOut,// 变换动画类型其中 divisions 不宜设置过大(默认为 3):过多则容易使坐标轴上的坐标太过密集而不易阅读。也不宜过少:过少则无法区分和比较各个不同对象的属性值情况。labelOffset 通常推荐使用负值,让其置于箭头之外。animationType 支持所有的 dojo.fx.easing 的动画模式。3-D 图库Dojo 现在主要支持两种 3-D 矢量图:圆柱状 3-D 和条状 3-D圆柱状 3-D 图图 4. 圆柱状 3-D 图从图上可以看出,它主要包括 3 个数据序列,并分别以红,黄,蓝三种方式呈现,这种 3-D 立体的方式能更加直观的看出趋势以及它们相互之间的差别。其用法也是比较简单的:清单 4. 圆柱状矢量图 var m = dojox.gfx3d.
var chart = new dojox.charting.Chart3D("test",
[{direction: {x: 5, y: 5, z: -5}, color: "white"}],
{color:"white", intensity: 2},
specular: "white"
[m.cameraRotateXg(10), m.cameraRotateYg(-10), m.scale(0.8),
m.cameraTranslate(-50, -50, 0)]
var plot1 = new dojox.charting.plot3d.Cylinders(500, 500,
{gap: 10, material: "yellow"});
plot1.setData([1,2,3,2,1,2,3,4,5]);
chart.addPlot(plot1);
var plot2 = new dojox.charting.plot3d.Cylinders(500, 500,
{gap: 10, material: "red"});
plot2.setData([2,3,4,3,2,3,4,5,5]);
chart.addPlot(plot2);
var plot3 = new dojox.charting.plot3d.Cylinders(500, 500,
{gap: 10, material: "blue"});
plot3.setData([3,4,5,4,3,4,5,5,5]);
chart.addPlot(plot3);
chart.generate().render();这里的用法可能稍显繁琐,是因为里面配置了不少参数,这些参数都是有默认值的,所以大部分可以省略。这里我们来详细介绍一下这些参数:Lights:这里主要用于配置光源,其中的 direction 就是光源的光照方向,color 为光的颜色。Ambient:设定物体环境参数Specular:反射参数设定m.cameraRotateXg(10),m.cameraRotateYg(10):坐标旋转参数m.scale(0.8):镜头的缩放参数定制m.cameraTranslate(-50, -50, 0):镜头的偏移,分别对应(x 轴,y 轴,z 轴)Material:三维物体的材质,主要用于配置其外观肤色。条状 3-D 图条状 3-D 图类似于横向的柱状 3-D 图,其参数配置与柱状 3-D 图基本一致。矢量图 widget 控件清单 5. Dojo 矢量图 widget &div dojoType="dojox.data.HtmlStore" dataId="tableExample" jsId="tableStore"&&/div&
&table id="tableExample" style="display:"&
&tr&&th&value&/th& &/tr&
&tr&&td&6.3&/td&&/tr&
&tr&&td&1.8&/td&&/tr&
&/td&&/tr&
&tr&&td&0.5&/td&&/tr&
&tr&&td&4.4&/td&&/tr&
&tr&&td&2.7&/td&&/tr&
&/td&&/tr&
&div dojoType="dojox.charting.widget.Chart2D"
theme="dojox.charting.themes.Tufte"
margins="{ l: 0, r: 0, t: 0, b: 0 }"
style="width: 100 height: 15"&
&div class="plot" name="default" type="Lines" &&/div&
&div class="series" name="Series A" store="tableStore" valueFn="Number(x)"&&/div&
&/div&事实上 Dojo 矢量图 widget 可以直接写在 HTML 代码里,同我们经常用到的 Dojo widget 一样。上述代码就是一个线状图的 Dojo 矢量图 widget,其数值序列基于 dojox.data.HtmlStore 的“tableStore”,其它属性也是通过在 HTML 里直接设定,可以看出,此时的 Dojo 矢量图 widget 就如同一个矢量图的 Dojo 控件(widget)。清单 6. Sparkline 矢量图 widget &div dojoType="dojox.charting.widget.Sparkline"
style="width: 100 height: 15"
store="msftStore"
field="Close"
count="100"
sort="[{ attribute: 'Date', descending: false }]"
valueFn="Number(x)"
&&/div&这是另一种矢量图 widget,可以看出其属性设定与之前的稍有区别,这种写法与我们熟悉的 Dojo widget 就几乎一模一样了。Dojo Data 矢量图所谓 Data Chart,其实有点像 Dojo 的 Data Grid,用过 dojox.grid 的人可能都知道,它其实就是一个基于 dojo.data 的控件,即其数据内容是来自于 dojo.data 对象,通过该对象加载最原始的数据,然后填充到 Dojo chart 中。这种 Data Chart 适用于数据量比较大的情况。Data 矢量图图 5. Data 矢量图例图Dojo Data 矢量图支持几乎所有的基本矢量图,其区别主要是它的数据源不再是简单的数组或对象数组,而是一个包装了原始 JSON 数据的 dojo.data 对象。清单 7. 创建 Data 矢量图 var linesC = new dojox.charting.DataChart("linesC", {
displayRange:6,
xaxis:{labelFunc:"seriesLabels"},
yaxis:{minorLabels:true},
type: dojox.charting.plot2d.Lines,
comparative:true
linesC.setStore(store, {symbol:"*"}, "price");其中,store 的数据结构如下:清单 8. Data 矢量图数据源的数据结构 { "identifier": "symbol", "idAttribute":"symbol", "label": "symbol","items": [
{ "symbol":"ANDT", "price":3.52, "low":3.13, "high":3.69 },
{ "symbol":"ATEU", "price":6.76, "low":6.56, "high":6.77 },
{ "symbol":"BGCN", "price":3.98, "low":3.77, "high":4.11 },
{ "symbol":"BAYC", "price":9.60, "low":9.60, "high":9.81 },
{ "symbol":"CRCR", "price":8.44, "low":8.22, "high":8.44 },
{ "symbol":"DTOA", "price":2.47, "low":2.11, "high":3.01 }
]}这里详细解释一下它的各个参数:displayRange:限制 x 轴的范围,其值代表坐标轴主标记的限制数量。labelFunc:坐标轴标签生成函数,这里的“seriesLabels”是 Data 矢量图内置的一个坐标轴标签生成函数,表示标签由该 Data 矢量图数据源的 label 属性值替代。这里的数据源的 label 属性值为“symbol”对应的值,所以我们可以看到“AUNT”,“ATEU”等等。setStore(store, {symbol:"*"}, "price"):这里表示 Data 矢量图的 Y 轴数据源为该 Data 矢量图数据源中的“price”属性值构成。这里注意,“{symbol:"*"}”是用于过滤 Identifier 属性的,这里“*”号相当于是没做任何过滤。Data SeriesData Series 也是基于 dojo.data 构建矢量图数据源序列。在使用 Data Series 时,其它的初始化 Dojo chart 的方式不变,只有在“addSeries”的时候,使用 dojox.charting.DataSeries 对象。清单 9. 使用 Data Series 序列 chartL = new dojox.charting.Chart("lines").
setTheme(dojox.charting.themes.ThreeD).
addAxis("x", {fixLower: "major", fixUpper: "major", natural: true,
majorTickStep: 5}).
addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major",
includeZero: true}).
addPlot("default", {type: dojox.charting.plot2d.Markers}).
addSeries("Price", new dojox.charting.DataSeries(
store, {query: {symbol: "*"}}, "price")).
render();可以看出,其参数设置方式和 Data 矢量图的“setStore”基本一样。“{query: {symbol: "*"}}”这里也是用于过滤。Store Series类似 Data Series,Dojo 矢量图还能够基于 dojo.store 构建数据源序列。图 6. Dojo 矢量图(Store Series)例图清单 10. 使用 Store Series 序列 dojo.xhrGet({
url: "stock.json",
sync: true,
handleAs: "json"
}).then(function(data){
store = dojo.store.Observable(new dojo.store.Memory({data:data}));
chartC = new dojox.charting.Chart("cols").
setTheme(dojox.charting.themes.ThreeD).
addAxis("x", {natural: true}).
addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major",
includeZero: true}).
addPlot("default", {type: dojox.charting.plot2d.Columns}).
addSeries("Low", new dojox.charting.StoreSeries(
store, {query: {}}, dojo.hitch(null, valTrans,
addSeries("Price", new dojox.charting.StoreSeries(
store, {query: {}}, dojo.hitch(null, valTrans, "price"))).
addSeries("High", new dojox.charting.StoreSeries(
store, {query: {}}, dojo.hitch(null, valTrans, "high"))).
render();可见,其使用方式与 Data Series 基本相同,但是它的数据源是基于 dojo.store 的,所以,其有些参数的设定是按照 dojo.store 的参数设定方式。特殊定制参数Dojo 矢量图中其实有很多地方是可以定制的,但是由于种种原因,这些定制参数可能并不为人所知,这里我们来详细讨论一下这些参数。手动触发图形的相关事件使用过 Dojo 矢量图的人可能知道,Dojo 矢量图可以加入很多交互效果,它支持鼠标的 onmouseover,onmouseout,onclick 等等交互事件。图 7. Dojo Chart fire event 例图图 7 说明,对“Series 3”的第 3 段手动执行“mouseover”的操作,于是该区域(红框)会出现和鼠标悬停在上一样的效果。其使用方式其实很简单:清单 11. chart.fireEvent 介绍 chart.fireEvent(
"Series 3",
"onmouseover",
);利用这种功能 , 可以做出很多很好的 Dojo 矢量图的附加效果 .数据序列中支持空 ("Null") 值其实这是 Dojo 矢量图的内置功能,并不需要程序员额外的参数配置。图 8. “NULL”值的例图程序员只需要给没有数据的地方置“null”即可。清单 12. “NULL”的用法 new dojox.charting.Chart("test" + (i + 1))
.addAxis("x", { vertical: false, min: 0, max: 15 })
.addAxis("y", { vertical: true, min: 0, max: 15 })
.addPlot("default", { type: type })
.addSeries("Series A", [3, 5, null, 4, 0, 4, null, 1, 6, 5] ,
{ stroke: {color: "blue"}, fill: "lightblue" })
.addSeries("Series B", [6, 9, null, 5, 10, 7, 6, 3, 8, 6] ,
{ stroke: {color: "red"}, fill: "lightpink" })
.render();将数据源序列某些之置“NULL”,即可达到截断效果。对图形块和数据序列的重新排序Dojo 矢量图支持多个图形区域(plot),即在一个矢量图上可以显示多种类型的矢量图,如线状图和柱状图并存,多个泡状图并存。这些图形区域均有一定的前后关系。图 9. 多个 Bubble plot 的 Dojo chart由图 9 可见,最先渲染的 plot1 离原点最近。如果我们改变它们的顺序,则显示方式会变化,见图 10。(chart.setPlotOrder(["plot2", "plot1", "plot3"]) 或者 chart1.movePlotToFront("Plot1"))图 10. 重新排序 plot 后的多 Bubble plot 的 Dojo 矢量图可见,顺序变成了红 1,绿 2,蓝 3,于是红色的 plot 离原点最近。其实,dojo 矢量图的 plot 对应的数据序列 series 也能排序,其中排在最前面的会显示在最上方,然后依次遮盖排在后面的 series。(chart.setSeriesOrder(["plot2", "plot1", "plot3"]) 或者 chart1.moveSeriesToFront("Plot1"))图 11. 重新排序 series 后的多 Bubble plot 的 Dojo 矢量图坐标轴 (Axis) 的高级定制关于 Dojo 矢量图坐标轴的定制也有很多高级用法。清单 13. 坐标轴 label 旋转 chart.addAxis("x", {
htmlLabels: false, fixLower: "major", fixUpper: "major", min: 0, max: 6,
{value: 0, text: "zero"},
{value: 1, text: "one"},
{value: 2, text: "two"},
{value: 3, text: "three"},
{value: 4, text: "four"},
{value: 5, text: "five"},
{value: 6, text: "six"}
rotation: 45
})只需要设定 rotation 参数即可实现坐标轴的旋转,这里是 x 轴 label 逆时针旋转 45 度。图 12. 旋转的 label坐标轴标签(label)不仅能旋转,还可以截断,这对于比较长的 label 相当有效。清单 14. 坐标轴标签(label)截断 var chart1 = new dojox.charting.Chart("test1").
addAxis("x", {
fixLower: "major", fixUpper: "major", includeZero: true,
{value: 0, text: "first start point"},
{value: 2, text: "two"},
{value: 5, text: "last end point"}
maxLabelSize: 20,
trailingSymbol: "."
}).“maxLabelSize”代表 label 可显示的最大长度(以 px 为单位),如果超出,则用省略符“。。。”替代,当然,这里的省略符也可以定制,在“trailingSymbol”中可以设定其为任意字符。当鼠标悬浮在 label 上的时候,后在 tooltip 中显示全部 label 信息。图 13. 截断的 label而且,在 dojo1.6 中引入了 Dojo 矢量图标题和坐标轴标题,其设定也很简单,如下:清单 15. Dojo 矢量图标题 var chart2 = new dojox.charting.Chart("test2", {
title: "Production(Quantity)",
titlePos: "bottom",
titleGap: 25,
titleFont: "normal normal normal 15pt Arial",
titleFontColor: "orange"
})清单 16. 坐标轴 标题
chart1.addAxis("x", {
title: "Quarter of 2010",
titleGap: gap,
titleFontColor: "orange",
titleOrientation: orientation,
rotation: rotation,
includeZero: true, natural: true, fixLower: "major", fixUpper: "major",
{value: 0, text: ""},{value: 1, text: "1 Qtr"},{value: 2, text: "2 Qtr"},
{value: 3, text: "3 Qtr"},{value: 4, text: "4 Qtr"},{value: 5, text: "End"}
})可见,通过“title”,“titleGap”, “titleFontColor”等等属性,可以定制你要的 title 展示样式:titleGap:表示 title 离主矢量图边缘的距离。titleOrientation:表示 title 的朝向,此属性专用于定制坐标轴标题,如果为“axis”,则代表文字朝向坐标轴,“away”表示文字“背对”坐标轴。图 14. Dojo chart 的标题另外,在一个矢量图中,可以随时隐藏坐标轴清单 17. 坐标轴隐藏 var chart3 = new dojox.charting.Chart("test3").
setTheme(customTheme).
addAxis("x", {type: "Invisible", fixLower: "major", fixUpper: "major",
natural: true, includeZero: true}).
addAxis("y", {type: "Invisible",vertical: true, fixLower: "major",
fixUpper: "major", natural: true, includeZero: true}).
addPlot("default", {type: "Markers"}).
addSeries("Series A", [{x: 1, y: 1}, {x: 2, y: 2}, {x: 3, y: 1}]).
addSeries("Series B", [{x: 3, y: 2}, {x: 4, y: 3}, {x: 5, y: 2}]).
addSeries("Series C", [{x: 5, y: 3}, {x: 6, y: 4}, {x: 7, y: 3}]).
render();这里其实只需要加上一个“type: "Invisible"”即可。Tension 的定制Tension 字面上讲是“张力”的意思,其实这在 Dojo 矢量图里面主要用于对线状图的定制,点与点之间可以用直线连接,也可以用曲线甚至贝叶斯曲线的方式连接。清单 18. Tension 定制 var chart = new dojox.charting.Chart("test_chart").
setTheme(theme).
addAxis("x", {natural: true, min: 0, max: 3}).
addAxis("y", {vertical: true, natural: true, min: 0, max: 3}).
addPlot("S tension", {tension: "S"}).
addSeries("\"S\" tension", data, {plot: "S tension"}).
addPlot("x tension", {tension: "x"}).
addSeries("\"x\" tension", data, {plot: "x tension"}).
addPlot("X tension", {tension: "X"}).
addSeries("\"X\" tension", data, {plot: "X tension"}).
addPlot("no tension", {markers: true, tension: ""}).
addSeries("No Tension", data, {plot: "no tension"}).
render();定制很简单,只需要在 plot 的参数里面加上“tension”参数即可,程序员可以参考如下示意图:图 15. Tension 定制效果矢量图皮肤的定制可以通过“dojox/charting/tests/test_themes.html”案例来查看 Dojo 皮肤的效果,进而选择相应的自己喜欢的皮肤图 16. 皮肤定制所有“dojox.charting.themes”下面的对象都是 Dojo 支持的皮肤类型,开发人员只需要“charts.setTheme(dojox.charting.themes.claro).render();”一句话即可实现皮肤的切换。结束语这篇文章介绍了 Dojo 开发中关于 Dojo 矢量图开发的一些更深层次的知识,基于 Dojo 的实例源代码,阐述了 Dojo 矢量图控件的很多高级功能,高级参数的定制以及高级对象的使用方式等等,同时,也介绍了 Dojo 矢量图数据源的多种定制方式,包括与 dojo.data,dojo.store 结合的方式。最后还提到了一些比较特殊的定制参数,这些大小细节我们可以在开发过程中尽量注意一下,以尽可能多的完善我们的 Web 应用。
Dojo 校园文档主页:Dojo 中控件的比较完全的 API 文档主页,包括 dojo,dijit,dojox 等等。
Dojo 官方文档主页:Dojo 官方的很多支持 Ajax 应用程序开发的组件的文档。
:通过专门关于 Web 技术的文章和教程,扩展您在网站开发方面的技能。:这是有关 Ajax 编程模型信息的一站式中心,包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。,这是有关 Web 2.0 相关信息的一站式中心,包括大量 Web 2.0 技术文章、教程、下载和相关技术资源。您还可以通过 栏目,迅速了解 Web 2.0 的相关概念。查看 ,了解更多和 HTML5 相关的知识和动向。加入 。查看开发人员推动的博客、论坛、组和维基,并与其它 developerWorks 用户交流。
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
IBM PureSystems(TM) 系列解决方案是一个专家集成系统
通过学习路线图系统掌握软件开发技能
软件下载、试用版及云计算
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=Web developmentArticleID=758269ArticleTitle=Dojo Charting 控件高级用法
publish-date=

我要回帖

更多关于 气象雷达图怎么看 的文章

 

随机推荐