- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JpGraph在公众气象服务产品展示中应用
JpGraph在公众气象服务产品展示中应用 摘要:结合气象数据,通过研究JpGraph在LAMP架构网站下的绘图模板及绘图函数调用,方便快捷地实现了折线图、离散点图、k线图、柱状图、饼状图、风玫瑰图等公众气象服务产品的生成。这有助于程序员更快更好地实现气象服务产品图形化部署,使公众获得更为直观、形象且易于接受的气象服务产品,为进一步分析并利用气象数据提供了更加有效的方式,对丰富气象网站公共服务产品的种类起到了较大的促进作用。
关键词:公众气象服务产品;LAMP网站架构;JpGraph
中图分类号:TP319文献标识码:A文章编号文章编号:1672-7800(2013)012-0082-02
作者简介:李剑莉(1981-),女,重庆市气象服务中心工程师,研究方向为LAMP技术、软件编程;刘甜甜(1981-),女,硕士,重庆市气象服务中心工程师,研究方向为气象服务与应用气象;夏佰成(1978-),男,硕士,重庆市气象服务中心高级工程师,研究方向为地图学与地理信息系统。
0引言
随着经济的快速发展与人民生活水平的不断提高,网络覆盖率大幅提升,网络技术迅猛发展,公众对网络气象服务产品的关注达到了空前高度。相对于单纯的文字、表格等表现形式,运用不同类型的图形图像表现不同时段、不同地点的天气气候特征,更为通俗和直观,易于被公众接受。
作为当下Web开发中最流行的选择,重庆市气象局面向公众服务的重庆市气象局网、重庆兴农网与众多知名网站(Yahoo、Facebook、sina)一样采用LAMP架构搭建。但是LAMP架构下,用PHP作图时没有一个统一的chart类来实现图表的快速开发,使得网站想要提供丰富的图形化公共气象服务产品相对比较困难。对此,笔者使用开源软件JpGraph来实现LAMP下各类图表的开发。
JpGraph是使用PHP5语言创建的一个面向对象的图形绘制库,可以在任何PHP脚本中使用(包括CGI/APXS/CLI等),也可以在大型Web开发中当作图形预处理的一部分,提供两种图片生成方式,在线图片和离线图片。JpGraph是基于GD的图形生成库,相比传统用于绘图的GD库,JpGraph使用便捷,大大简化了PHP创建动态图形的繁琐操作,提高了工作效率,同时生成的网页格式图片质量更好;与svg图形技术相比,JpGraph的图片不用下载插件就可显示,无浏览器版本要求,更适合公众使用。
1JpGraph应用技术介绍
JpGraph能根据气象数据提供多种多样的图形产品,如折线图、离散点图、k线图、柱状图、饼状图、风玫瑰图、甘特图等。目前,JpGraph提供了近三百种各式统计图使用样板,用户还可以根据需要自行设计添加。
1.1JpGraph库图形创建思路及常用要素
创建思路:首先引用JpGraph类库和需要绘制图形的图形模型文件;其次创建画布,设定图画大小,留出边界距离;然后导入绘图数组,在画布上增减各类要素,设置显示模式;最后输出到浏览器或者保存为图片文件。
$pic_width为画布长,$pic_height为画布宽,$dataT为标题名,$BackgroundImage为背景图片名,$datay为绘图数组,$datax为x轴坐标数组,$data_url为链接网址数组,$data_txt为鼠标动作显示内容数组。
创建画布:$graph = new Graph($pic_width,$pic_height,’auto’);
标题:$graph-title-Set($dataT);
背景:$graph-SetBackgroundImage($BackgroundImage,BGIMG_FILLPLOT);
Y轴:$graph-yaxis-SetTickSide(SIDE_LEFT);
X轴:$graph-xaxis-SetTickLabels($datax);
柱状图:$Bplot = new BarPlot($datay);
折线图:$Lfirst = new LinePlot($datay);
离散点图:$sp= new ScatterPlot($datay,$datax);
K线图:$k1= new StockPlot($datay);
饼状图:$Pie1=new PiePlot3d($datay);
根据基本的绘图思路,开始绘制各类图表,函数说明参见JpGraph函数文档,地址http:///download/manuals/classref/index.html,以下例子中仅给出绘制图形程序的关键部分。
1.2离散点图开发实例
mark-SetType(MARK_FILLEDCIR
文档评论(0)