爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6369|回复: 9

[图形美化] 我是一个新手,有一个小的surfer绘图问题想向大家请教!(方法不智能,但可以解决)

[复制链接]

新浪微博达人勋

发表于 2013-1-4 10:55:47 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 简单人啊 于 2013-1-5 15:44 编辑

       最近用surfer绘图,由于纵坐标尺度太大,选用了【log2(实际值)】作为纵坐标,这样纵向的图就显的比较均匀了。但是我又不想将纵坐标刻度标成对数值,为了更好的表达意思,我准备在对应的对数刻度上标上实际值。
      为了解决这个问题,我看了很多surfer教程,可是都没有涉及到,不知道新版surfer软件有没有此项功能,还请大师们赐教!
(我尝试使用matlab解决了这个问题,但是matlab画出的图实在难看,而且不易修改)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-4 14:36:43 | 显示全部楼层
    如果想在程序中直接解决这个问题恐怕难了,坐标值没有取“别名”的功能,因为你更改了坐标数值,坐标和图形也就跟着改变了,又变回你不希望的难看的图形了。
    不过,事情总是有解决的办法,迂回的、变通的解决办法。反正你的纵坐标刻度标注不多,最多也就十几个罢了,人工一个个修改不就完了吗。
    1、用“绘制|文本”命令添加一个文字,就是你的“实际值”,选好字体、字号,要足够大(也不必太大),可以盖住坐标上的标注值就好。
    2、设置该文本的背景颜色为你的图形的颜色,背景的不透明度设为100%,目的还是要盖住原来的坐标值而不留痕迹。
    3、有几个坐标要覆盖,那你就复制粘贴出几个同样的文本对象来,改掉其中的具体数值为你期望的实际值。
    4、摆好这些文本对象的位置,使它们完全遮盖住原先的坐标刻度,还可以用“排列|对齐”命令使它们对齐,然后全部选中它们,用“排列|组合”命令组合在一起,使它们的相对位置不再变化。
    5、用“排列|锁定”命令,使这个“组合体”与整个图形的相对位置不再变化。
    好了,出图吧。

    这是笨办法,如果有朋友想出更好的办法(例如加后缀,关键是后缀该如何写),请展示以供大家学习。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-4 15:08:07 | 显示全部楼层
笨办法也是最简单的办法,呵呵
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-1-5 14:11:38 | 显示全部楼层

非常感谢您的回复,可以完全解决我的问题!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-7 16:14:08 | 显示全部楼层
对数坐标的标注,我一直都是用一个basemap画刻度,用一个postmap放刻度值,然后与目标图件(譬如等值线图)共同overlay,取消surfer自己的Axis的显示就可以了。

评分

参与人数 1金钱 +12 贡献 +2 收起 理由
chengxf + 12 + 2 很给力!好办法,赞一个!

查看全部评分

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

新浪微博达人勋

 楼主| 发表于 2013-1-7 19:37:12 | 显示全部楼层
holz 发表于 2013-1-7 16:14
对数坐标的标注,我一直都是用一个basemap画刻度,用一个postmap放刻度值,然后与目标图件(譬如等值线图) ...

这也是一个很好的方法,谢谢了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-8 09:49:57 | 显示全部楼层
实际上我以前是编写脚本来完成的,特别是一个工区很多同类数据的情况下,流程大致如下:
1、设一个循环读每个数据文件,
2、根据数据生成一个bln文件,里面是刻度,用这个bln文件生成一个basemap,
3、根据提取的刻度范围,生成一个dat文件,里面是刻度值,用这个dat文件生成一个postmap,
4、用原始数据进行网格化然后生成想要的图,譬如等值线图,
5、将上述3个图overlay,
6、取消surfer自己的坐标,做其他设置,
7、保存、打印、输出……

有段时间我喜欢用bna或者plt文件,因为刻度和刻度值可以同时放在一个文件内,减少一些工作。

可惜这几年很少做这类工作,电脑换来换去,丢了很多代码,不然用脚本真的极其方便和快捷。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-1-8 15:12:58 | 显示全部楼层
holz 发表于 2013-1-8 09:49
实际上我以前是编写脚本来完成的,特别是一个工区很多同类数据的情况下,流程大致如下:
1、设一个循环读每 ...

涉及到脚本语言就比较复杂了,不过编脚本语言适合工作量大的情况,一劳永逸啊!我这个工作量小,就几幅图,傻瓜式修改一下就行了。不过还是谢谢你的细心指导!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-2-4 23:39:19 | 显示全部楼层
碰到这个问题我也是用matlab解决的。还有一部分是用origin画的。matlab的图确实不好看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-11-6 15:53:46 | 显示全部楼层
谢谢楼主啦啦啦啦
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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