- 积分
 - 6979
 
	- 贡献
 -  
 
	- 精华
 
	- 在线时间
 -  小时
 
	- 注册时间
 - 2013-1-1
 
	- 最后登录
 - 1970-1-1
 
 
 
 
 
 
 | 
	
 
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册 
 
 
 
x
 
 本帖最后由 lysx 于 2014-8-28 14:52 编辑  
 
今天在画降水图,需要在图上标注汉字,按照朋友的提示,我使用了"writehz.gs"及其附件,愉快地开始标注了。但是,要知道所有美好的事情一旦出现“但是”就不太妙了!首先,如果标一串汉字,怎么让该传汉字位于图的中央位置,因为该gs文件中所有字符是从用户输入位置参数的左侧开始依次显示的。后来我找到了一个不是办法的办法,先用'q string'命令获得字符串的宽度width,然后汉字的坐标就是需要想要显示的位置坐标x-width*0.25*size,其中size为使用writehz写汉字时的size;如此可使字符串较好地位于图的中间位置(如图1所示)。其次,由图1看出,‘年’字没有显示出来,我这里字体设置为‘2’;当字体设置为‘1’时,会出现死循环(图2),不知道怎么回事,不知道大家有没有遇到过类似的问题呢? 
 
下面附上我的gs文件: 
'reinit''set parea 2 8 2 7' 
'open 2012.ctl' 
'set grads off' 
'set grid off' 
'set xlopts 1 15 0.15' 
'set ylopts 1 15 0.15' 
'set xlab off' 
'set ylab off' 
'set t 1' 
'set t 133' 
'set gxout shaded' 
'raincolor' 
'set clevs 0.1 10 25 50 100 250' 
'set rbcols 17 18 19 20 21 22 23' 
'define a=smth9(rain)' 
'd rain' 
'cnbasemap_yeriver rain' 
'qgxinfo' 
xx=sublin(result,3) 
yy=sublin(result,4) 
x1=subwrd(xx,4) 
x2=subwrd(xx,6) 
y1=subwrd(yy,4)-0.5 
y2=subwrd(yy,6) 
x=x1+(x2-x1)/2 
'cbar_interp 1 1 0 'x' 'y1'' 
'axis -type b -position i -start 75 -end 135 -interval 10  -suffix `3.' 
'axis -type l -position i -start 20 -end 55 -interval 5  -suffix `3.' 
'southsea_last 0 11 0 8.5' 
y=y2-0.5 
'q string 全国24h降水量实况图' 
x3=x-subwrd(result,4)*0.5 
'writehz 'x3' 'y' 全国24h降水量实况图 2 2' 
y=y-0.4 
'q string 2012年5月13日08时' 
x3=x-subwrd(result,4)*0.5 
'writehz 'x3' 'y' 2012年5月13日08时 2 2' 
'gxprint 20120513.eps white' 
; 
 
 
 
 |   
- 
图1 
 
 
 
- 
图2 
 
 
 
 
 
 
 
 |