爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13846|回复: 18

[vbscript] Y 轴使用对数坐标的自动化处理

[复制链接]

新浪微博达人勋

发表于 2014-5-27 09:39:00 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
0、前些天有讨论用对数坐标画图的问题,于是找了个自己的数据写了几行脚本,给有需要的参考。
1、已经 Surfer 8 和 Surfer 12 测试。
2、附带测试数据。
3、使用3列数据,A列为X坐标,B列为Y坐标,C列是观测值。
4、程序先对B列取对数,结果放在D列。
5、取对数时使用了自动确定的纵横比系数,如果有多个同类数据集(譬如一个工区内的数据),就必须使用固定的纵横比(或叫模数)。
6、脚本的网格化函数全部使用默认参数,实际应用应该自行确定匹配数据的网格化参数。
7、填充等值线使用了随机配色,实际应用应改用load方法载入统一的lvl文件。
8、有控制Y坐标反转的变量,为了装逼也同时控制X轴的表现。例如Y轴正常(值从下往上增大)时X轴在地下标刻度和数值,反转(值从上往下增大)时X轴在上方标刻度和数值。
9、X轴的刻度间距是Surfer的默认值,只是稍微做了越限判断,实际可能用靠近地图比例的整数(5、10的倍数)做主刻度间距较好。
10、脚本没有做太多测试、没有做什么优化、没有太细致的注释,所以对于电饭煲把饭烧焦、看电视串台、没洗澡老婆不给上床之类的问题概不负责。
2014-05-27 08:59:42的屏幕截图.png log_axis.zip (10.77 KB, 下载次数: 50)

评分

参与人数 1金钱 +20 贡献 +2 收起 理由
chengxf + 20 + 2 赞一个!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-27 09:58:02 | 显示全部楼层
请问,数轴的刻度线的设置,直接在Surfer软件中可以做到吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-27 10:26:56 | 显示全部楼层
不知道程老师讲的刻度线是指 tick 还是 gridline?只不过在对数坐标的情况下,两者都只能自己做,surfer没办法处理。
我全部使用bln做basemap形成坐标刻度,用dat做postmap做刻度标注。
既然surfer不支持对数坐标,只能曲线救国了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-27 11:08:19 | 显示全部楼层
holz 发表于 2014-5-27 10:26
不知道程老师讲的刻度线是指 tick 还是 gridline?只不过在对数坐标的情况下,两者都只能自己做,surfer没 ...

谢谢答复。我是指坐标刻度tick。上次我的图中简单地用十字架“符号”代替了坐标刻度,觉得不理想。按照你的思路,用bln图做刻度坐标,虽然麻烦一些,但是可以随心所欲。所谓随心所欲就是可以任意设定刻度线的粗细、长短、颜色、位置等等属性。再次谢谢。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-27 12:11:03 | 显示全部楼层
谢谢分享               
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-27 13:50:58 | 显示全部楼层
根据我自己的工作要求,一般这类图我都要用4个图层来合成,刻度、标注、点位和等值线图层。
20140527132400.jpg
基本思路就是对B列取对数,据此派生出4个中间文件,工作上应用时,成图后我都会把他们删除。他们是
① _y_post.dat 文件,里面保存的是对数坐标的刻度标注,用 postmap的形式展现,作图时只要label不要symbol。
② _y_axis.bln 文件,里面保存的是对数坐标的刻度的边界信息,用basemap的形式展现。
③ _y_log.dat 文件,只是源文件加上取对数形成的第四列,用 1, 4 列作postmap表示数据点位,作图时只要symbol不要label。
④ _y_log.grd 文件,用 _y_log.dat 文件的 1, 4, 3 列进行网格化的结果,用来绘制等值线图层。
20140527133717.jpg


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-27 13:58:57 | 显示全部楼层
holz 发表于 2014-5-27 13:50
根据我自己的工作要求,一般这类图我都要用4个图层来合成,刻度、标注、点位和等值线图层。

基本思路就 ...

谢谢分享。你的作图经验和聪明才智对大家帮助很大。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-6-5 13:20:59 | 显示全部楼层
好东西,收藏了。。。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-22 17:59:25 | 显示全部楼层
好东西,值得分享!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-22 19:42:58 | 显示全部楼层
surfer里面就没有取对数坐标轴吗
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表