“Multiplot”的版本间差异

来自Shiyin's note
跳到导航 跳到搜索
无编辑摘要
 
(未显示同一用户的2个中间版本)
第1行: 第1行:
*默认的!p.multi=[i,n,m]可实现多个panel,但是每个panel都有自己的x,y坐标轴,有时显得不够紧凑
*默认的!p.multi=[i,n,m]可实现多个panel,但是每个panel都有自己的x,y坐标轴,有时显得不够紧凑
:#解决办法是再额外定义!Y.margin 和!X.margin 默认值是!X.magrin=[10, 3] !Y.margin=[10, 3]

*[[astro_lib]]中的multiplot可实现紧凑的多panel图
*[[astro_lib]]中的multiplot可实现紧凑的多panel图
*完全自定义
*完全自定义
第10行: 第12行:
myTitle=, myTitSize=, myTitOffset=, xtickformat=, ytickformat=
myTitle=, myTitSize=, myTitOffset=, xtickformat=, ytickformat=
/default, /reset, /rowmajor, /initialize
/default, /reset, /rowmajor, /initialize

*mxtitsize=1.5 比较合适
*mxtitoffset 必须设置好比如=5或者10,不然title和ticks拥挤在一起


例子
例子
第19行: 第24行:
multilplot
multilplot
plot,x,y,,xtitle='x',ytitle='y'
plot,x,y,,xtitle='x',ytitle='y'
multilplot,/reset
multilplot,/rest ;貌似不工作,还不如 /init
这样得到的图的panel是合在一起的
这样得到的图的panel是合在一起的


== 自定义 ==
== 自定义 ==
*position可精确定位plot的位置,在0-1范围内 例如POS=[0., 0.5, 0.5, 1.0]
*position可精确定位plot的位置,在0-1范围内 例如POS=[0., 0.5, 0.5, 1.0]
:注意在使用position定义位置的时候,一定要事先定义好Data的范围,就是Xrange和Yrange。
*[x,y,z]margin可控制图离边界的距离 默认xmargin=[10,3],ymargin=[4,2]单位是字符的宽度,可以更改数值,甚至为负
*[x,y,z]margin可控制图离边界的距离 默认xmargin=[10,3],ymargin=[4,2]单位是字符的宽度,可以更改数值,甚至为负
*生成坐标,但是不label坐: 用[x,y,z]tickv=replicate(' ',N+1),[x,y,z]ticks=N
*生成坐标,但是不label坐: 用[x,y,z]tickv=replicate(' ',N+1),[x,y,z]ticks=N

2016年6月12日 (日) 04:13的最新版本

  • 默认的!p.multi=[i,n,m]可实现多个panel,但是每个panel都有自己的x,y坐标轴,有时显得不够紧凑
  1. 解决办法是再额外定义!Y.margin 和!X.margin 默认值是!X.magrin=[10, 3] !Y.margin=[10, 3]
  • astro_lib中的multiplot可实现紧凑的多panel图
  • 完全自定义
  • 前面两总方案当中,不能在plot里面再设置margin,必须提前使用!X.magrin=[10,10]之类的方式

multiplot

multiplot, pmulti, gap=, xgap=, ygap=, /square, /doxaxis, /doyaxis, 
      mTitle=, mTitSize=, mTitOffset=, mxTitle=, mxTitSize=, mxTitOffset=, 
      myTitle=, myTitSize=, myTitOffset=, xtickformat=, ytickformat=
      /default, /reset, /rowmajor, /initialize
  • mxtitsize=1.5 比较合适
  • mxtitoffset 必须设置好比如=5或者10,不然title和ticks拥挤在一起

例子

multiplot,/init
multiplot,[1,3]
plot,x,y,ytitle='y'
multiplot
plot,x,y
multilplot
plot,x,y,,xtitle='x',ytitle='y'
multilplot,/rest ;貌似不工作,还不如 /init

这样得到的图的panel是合在一起的

自定义

  • position可精确定位plot的位置,在0-1范围内 例如POS=[0., 0.5, 0.5, 1.0]
注意在使用position定义位置的时候,一定要事先定义好Data的范围,就是Xrange和Yrange。
  • [x,y,z]margin可控制图离边界的距离 默认xmargin=[10,3],ymargin=[4,2]单位是字符的宽度,可以更改数值,甚至为负
  • 生成坐标,但是不label坐: 用[x,y,z]tickv=replicate(' ',N+1),[x,y,z]ticks=N