直方图

来自Shiyin's note
101.229.82.145讨论2012年4月25日 (三) 15:10的版本
跳到导航 跳到搜索

IDL自带的HISTOGRAM可以运算直方图,然后用plot命令画出来

  • PSYM=10可画成直方图形式,但是缺少直方图的边框

astro_lib中的plothist;Coyote库中的cgplothist;

sdssidl中的plothist由于和astro_lib中的plothist重名,被改为sdssidl_plothist

HISTOGRAM

Result = HISTOGRAM( Array [, BINSIZE=value] [, INPUT=variable] [, LOCATIONS=variable] [, MAX=value] [, MIN=value] [, /NAN] 
[, NBINS=value] [, OMAX=variable] [, OMIN=variable] [, /L64 |  REVERSE_INDICES=variable] ) 
  • 关键词 locations是bin的位置 = MIN + v*BINSIZE, with v = 0,1,...,NBINS-1.
  • BINSIZE = (MAX – MIN) / (NBINS – 1)
  • 要得到i bin里面的元素可用REVERSE_INDICES,具体为A[R[R[I] : R[i+1]-1]],R向量的前面NBINS个元素存这每个bin里面的元素的信息,在NBINS后面的元素则是A数组在各个bins中的index。

plothist

 plothist, arr, xhist, yhist, [, BIN=, /FILL, /NOPLOT, /OVERPLOT, PEAK=,
                                    /AUTOBIN,  ...plotting keywords]
  • 不能设置min,max等关键词

cghistoplot

 cgHistoplot, Fix(RandomU(seed, 200)*20), POLYCOLOR=['charcoal', 'steel blue'], /FILLPOLYGON
  • 可以用mininput,maxinput设置MIN,MAX;
  • locations,histdata关键词可给出Xbin和Yhist的数值
  • 颜色的处理很强大
  • 似乎没有直接画面积归一化的直方图功能

sdssidl_plothist

plothist, array, weights=,  peak=, norm=, aspect=, /error, nboot=, 
      /noplot, /overplot, /fill, fcolor=, /fline, forientation=, fpattern=, fspacing=
      xhist=, yhist=, reverse_indices=  ...plotting keywords...histogram keywords]
  • 直接支持plotting,histogram keywords的关键词,很强大,比如overplot功能
  • norm,peak,weights的功能很贴心