爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6476|回复: 7

[已解决] IDL中"对象图形法"坐标轴中文标注乱码

[复制链接]

新浪微博达人勋

发表于 2015-1-24 09:35:10 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 4093806rty 于 2015-1-28 17:28 编辑

我找到一篇相关帖子
http://blog.sina.com.cn/s/blog_764b1e9d0102uzll.html
但是有些错误,第一个是直接图形法,第二个是“快速可视化”,并非对象图形法

以下是出现问题的代码:

pro testaxis
  ;需要标记的时刻(10月/01、10月/16。。。)
  arr_date_mark = TIMEGEN(10, UNITS = 'days',START = JULDAY(10, 1, 2014),STEP_SIZE=15)
   
  ;回调函数(例如:将2014/10/01 格式化为 10月/01)
  date_label = LABEL_DATE(DATE_FORMAT = ['%N月/%D'])
  
  ;坐标轴显示范围
  XRANGE = [arr_date_mark[0],arr_date_mark[9]]
  ;归一化坐标系
  xs = NORM_COORD(XRANGE)
  
  ;创建坐标轴
  oPlotXAxis = Obj_new('IDLgrAxis', 0,RANGE = XRANGE, XCOORD_CONV=xs,$
    TICKVALUES=arr_date_mark,$
    LOCATION = [0.2, 0.5], TICKFORMAT = ['LABEL_DATE'], TICKUNITS = ['Time'])
  ;对象图像法
  oWindow= Obj_new('IDLgrWindow',dimension = [800,750],retain=2)
  ;创建一个显示view
  oView = Obj_new('IDLgrView',ViewPlane_Rect = [0,0,1,1],/DOUBLE)
  ;创建model对象
  oPlotModel = Obj_new('IDLgrModel')
  ;model添加到view
  oView.ADD,oPlotModel
  oPlotModel.ADD,oPlotXAxis
  oWindow.DRAW, oView
end




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

新浪微博达人勋

 楼主| 发表于 2015-1-24 09:38:11 | 显示全部楼层
不好意思,上传不了图片,麻烦运行一下代码
我稍微描述一下:坐标轴标注中的“月”全部变成了方框
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-1-24 10:40:17 | 显示全部楼层
这个要改   窗口——首选项——常规——工作空间  里面的文本文件编码
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-1-24 12:24:49 | 显示全部楼层
chenhongfengye 发表于 2015-1-24 10:40
这个要改   窗口——首选项——常规——工作空间  里面的文本文件编码

谢谢您的回复,经过我的实验,您说的设置是为了使代码中的中文正常显示
而我遇到的问题是绘图时出现的乱码,您运行我的代码是可以正常显示汉字的吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-1-25 21:59:59 | 显示全部楼层
还有没有专家再帮忙看看呀?
第一次发帖不要沉了呀
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-1-26 11:56:52 | 显示全部楼层
本帖最后由 longlivehj 于 2015-1-26 11:59 编辑

QQ图片20150126115352.png

oPlotXAxis->getproperty, ticktext = text
font = OBJ_NEW('IDLgrFont', 'simsun', SIZE = 8)
text->setproperty, font = font

至于怎么将simsun(宋体)truetype字体添加到idl里面,网上有教程,楼主搜索一下!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-1-28 17:13:27 | 显示全部楼层
本帖最后由 4093806rty 于 2015-6-3 11:28 编辑
longlivehj 发表于 2015-1-26 11:56
oPlotXAxis->getproperty, ticktext = text
font = OBJ_NEW('IDLgrFont', 'simsun', SIZE = 8)
text- ...

一直以为是要直接在IDLgrAxis中设置关键字呢,钻到牛角尖里了,谢谢版主,学习了
不知道为什么我这里宋体、华文宋体、仿宋、楷体、微软雅黑都是可以直接设置的呀
  oFont = Obj_new('IDLgrFont', 'simsun', SIZE = 8)
  oFont = Obj_new('IDLgrFont', 'stsong', SIZE = 8)
  oFont  = Obj_new('IDLgrFont', 'fangsong', SIZE = 8)
  oFont = Obj_new('IDLgrFont', 'kaiti', SIZE = 8)
  oFont = Obj_new('IDLgrFont', 'Microsoft YaHei', SIZE = 8)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-1 09:31:25 | 显示全部楼层
现在IDL版本没有GB2312编码呀
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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