Pro bpt_plot,thick=thick,charthick=charthick,charsize=charsize,select=select,xrange=xrange,yrange=yrange
;+
;NAME:
; bpt_plot
;PURPOSE:
; plot BPT digaram
;CALLING SEQUENCE:
; BPT
;INPUT:
; none
;OUTPUT:
; none
;REVISION HISTORY:
; Original by DL.Wang,Dec-05-2007
; May-06-2008
;-
if not keyword_set(thick) then thick=1.5
if not keyword_set(charthick) then charthick=1.8
if not keyword_set(charsize) then charsize=1.5
if n_elements(select) eq 0 then begin
print,'BPT digiam selection:'
print,' 0:[OIII]/H Beta vs. [NII]/H Alpha'
print,' 1:[OIII]/H Beta vs. [SII]/H Alpha'
print,' 2:[OIII]/H Beta vs. [OI]/H Alpha'
read,select
endif
case select of
0:begin
a=tan(65.0/180.0*!pi)
b=-0.5+0.45*a
x1=findgen(200)*0.01-2.0
x2=findgen(200)*0.01-0.35
x3=findgen(240)*0.01-2.0
if not keyword_set(xrange) then xrange=[-2.0,2.0]
if not keyword_set(yrange) then yrange=[-2.0,2.0]
;plot line
plot,x1,0.61/(x1-0.05)+1.3,linestyle=0,thick=thick,$ ; Kauffmann2003 line
xrange=xrange,yrange=yrange,xstyle=1,ystyle=1,$
charthick=charthick,charsize=1.2
oplot,x3,0.61/(x3-0.47)+1.19,linestyle=2,thick=thick ; Kewley2001 line
;oplot,x2,a*x2+b,linestyle=3,thick=thick ; Seyferts & LINERs divided line
xyouts,0.30,0.20,'H II',/normal,charthick=charthick,charsize=charsize
xyouts,0.40,0.85,'Seyferts',/normal,charthick=charthick,charsize=charsize
xyouts,0.80,0.50,'LINERs',/normal,charthick=charthick,charsize=charsize
xyouts,0.50,0.20,'Transition',/normal,charthick=charthick,charsize=charsize
xyouts,0.05,0.50,textoidl('lg ([O III]/H')+textoidl('\beta')+')',/normal,charthick=charthick,charsize=charsize,orientation=90.0
xyouts,0.50,0.03,textoidl('lg ([N II]/H')+textoidl('\alpha')+')',/normal,charthick=charthick,charsize=charsize
end
1:begin
x1=findgen(215)*0.01-2.0
x2=findgen(200)*0.01-0.30
y1=0.72/(x1-0.32)+1.30
y2=1.89*x2+0.76
if not keyword_set(xrange) then xrange=[-2.0,2.0]
if not keyword_set(yrange) then yrange=[-2.0,2.0]
plot,x1,y1,linestyle=2,thick=thick,$ ; Kewley2001 line
xrange=xrange,yrange=yrange,xstyle=1,ystyle=1,$
charthick=charthick,charsize=1.2
oplot,x2,y2,linestyle=3,thick=thick ; Seyferts & LINERs divided line
xyouts,0.35,0.25,'H II',/normal,charthick=charthick,charsize=charsize
xyouts,0.45,0.85,'Seyferts',/normal,charthick=charthick,charsize=charsize
xyouts,0.75,0.50,'LINERs',/normal,charthick=charthick,charsize=charsize
xyouts,0.05,0.50,textoidl('lg ([O III]/H')+textoidl('\beta')+')',/normal,charthick=charthick,charsize=charsize,orientation=90.0
xyouts,0.50,0.03,textoidl('lg ([S II]/H')+textoidl('\alpha')+')',/normal,charthick=charthick,charsize=charsize
end
2:begin
x1=findgen(220)*0.01-3.0
x2=findgen(200)*0.01-1.10
y1=0.73/(x1+0.59)+1.33
y2=1.18*x2+1.30
if not keyword_set(xrange) then xrange=[-2.0,1.0]
if not keyword_set(yrange) then yrange=[-2.0,2.0]
plot,x1,y1,linestyle=2,thick=thick,$ ; Kewley2001 line
xrange=xrange,yrange=yrange,xstyle=1,ystyle=1,$
charthick=charthick,charsize=1.2
oplot,x2,y2,linestyle=3,thick=thick ; Seyferts & LINERs divided line
xyouts,0.35,0.25,'H II',/normal,charthick=charthick,charsize=charsize
xyouts,0.45,0.85,'Seyferts',/normal,charthick=charthick,charsize=charsize
xyouts,0.75,0.50,'LINERs',/normal,charthick=charthick,charsize=charsize
xyouts,0.05,0.50,textoidl('lg ([O III]/H')+textoidl('beta')+')',/normal,charthick=charthick,charsize=charsize,orientation=90.0
xyouts,0.50,0.03,textoidl('lg ([O I]/H')+textoidl('alpha')+')',/normal,charthick=charthick,charsize=charsize
end
endcase
End
https://blog.sciencenet.cn/blog-456360-658957.html
上一篇:
整理术的书籍下一篇:
窄发射线BPT分类AGN(IDL程序)