码迷,mamicode.com
首页 > 其他好文 > 详细

NCL 小图对其问题

时间:2014-09-03 22:34:07      阅读:501      评论:0      收藏:0      [点我收藏+]

标签:io   使用   ar   数据   问题   sp   on   c   ef   

从昨天下午开始的折腾终于告一段落,虽然解决得不甚完善,只是图可以用了……

问题起自想把之前手动拼成的一页四张的图用脚本自动生成,这样一方面应该对得更齐一点,另一方面大大节省人工。

这本来应该是件很容易的事情,NCL里面有一个gsn_panel命令就是用来完成这个的,之前也使用过。于是费了不少工夫把原来画四张小图的程序粘在一起,最后只要生成一张包含这四个小图的大图就行了。问题出现了,四个小图竟然对不齐!第三个小图明显比人家短,第一行的两张图也不一样宽……不可leng!

一开始问题更严重一些,图超出页边,有一部分显示不了,这个之前就遇到过,用取消最大化设置(res@gsnMaximize  = False)勉强应付了。这回发现了新方法,在定义panel的设置时加入边距

resP@gsnPanelYWhiteSpacePercent = 2

resP@gsnPanelXWhiteSpacePercent = 2

这样每幅小图之间也会有点空隙,好看一些。

 

不一样长的问题,我一开始猜测是没有循环画每个小图而是一个一个画的,结果不是;(此处省去若干搜索尝试)……最后发现是因为第三个小图的纵坐标小数位数比人家多,虽然最后一位都是零,就找到res@tmYLPrecision = 2.,设置精确到小数点后两位,这个之前其实也尝试过,不过报了许多warning,意思是要自行设置数据格式,格式说明有点眼花缭乱,于是当时就忽略这个方法了。这回硬出了图,结果是对的,只是一屏的warning还是个遗留问题。

不一样宽的问题,是我设置只有每行的第一列图才显示纵坐标说明,因为大家用得都是一样的,后面列的两个小图由于没有了说明,就自动最大化,比前面的宽了,只要把小图设置的最大化关掉而保留panel的最大化设置就可以解决了。

res@gsnMaximize  = False

resP@gsnMaximize = True

NCL的画图太强大了,好的强大是基本什么都能调,坏的强大是什么都得调……以后学高级了,可以做自己的画图object,把常用的这些设置都放进去……

NCL 小图对其问题

标签:io   使用   ar   数据   问题   sp   on   c   ef   

原文地址:http://www.cnblogs.com/tiandi/p/3954552.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!