Extrasolar Planet Property Distributions:

The plots below show the distributions of various orbital parameters of the extrasolar planets discovered by the radial-velocity method (see http://exoplanets.org/almanacframe.html for a list). They were generated in SM (Supermongo) using some scripts that I developed (see below). At this point I won't offer any interpretations, just the plots. If you use these plots or sm scripts, please cite me (Andrew Howard).

Email me with suggestions/corrections.

Data last updated: 1/16/2003


Mass histogram (postscript file)

Mass vs. orbital semimajor axix (postscript file)

Mass vs. period (postscript file)

Mass vs. eccentricity (postscript file)

Eccentricity vs. orbital semimajor axis (postscript file)

Eccentricity vs. perihelion distance (postscript file)


SM (Supermongo) scripts for generating the above plots

The scripts shown below were used the generate the extrasolar planet plots above. To use them, simply paste the text into your sm defaults file (or where ever you store them), start sm, and type 'planets1', 'planets2', 'planets3', or 'planets4'. The scripts are presently set to generate postscript output. If you'd like gifs, simply remove the comment characther (#) from the lines beginning with 'device gif' and put comment characters on the lines beginning with 'device postlandfile'.

You'll also need the data file, planets.txt. This file lists the orbital properties of the known extrasolar planets in tabular form (and was derived from the list at exoplanets.org). The columns are: row number, star name, minimum mass = M sin i (M jup), period (days), semimajor axis (AU), eccentricity, Doppler amplitude K (m/s).

These scripts were last updated on 3/6/2003.

SM scripts:


planets1 404
      device gif mass_dist.gif
#      device postlandfile mass_dist.ps
      expand 1.0001
      data planets.txt
      read mass 3
      read distance 5
      set lmass = lg(mass)
      set ldist = lg(distance)
      limits -2 1 -1 2
      ticksize -1 0 -1 0
      ptype {m 0 0 0 500 100 330 0 460 -100 330 0 500}
      points ldist lmass
      ptype 10 3
      points ldist lmass
      box
      xlabel Orbital semimajor axis (AU)
      ylabel Minimum Mass (M_{jup})

planets2 405
      device gif mass_period.gif
#      device postlandfile mass_period.ps
      expand 1.0001
      data planets.txt
      read mass 3
      read period 4
      set lmass = lg(mass)
      set lperiod = lg(period)
      limits 0 4 -1 2
      ticksize -1 0 -1 0
      ptype {m 0 0 0 500 100 330 0 460 -100 330 0 500}
      points lperiod lmass
      ptype 10 3
      points lperiod lmass
      box
      xlabel Period (days)
      ylabel Minimum Mass (M_{jup})

planets3 406
      device gif ecc_mass.gif
#      device postlandfile ecc_mass.ps
      expand 1.0001
      data planets.txt
      read mass 3
      read ecc 6
      set lmass = lg(mass)
      limits 0 1 -1 2
      ticksize 0 0 -1 0
      ptype {m 0 0 0 500 100 330 0 460 -100 330 0 500}
      points ecc lmass
      ptype 10 3
      points ecc lmass
      box
      xlabel Eccentricity
      ylabel Minimum Mass (M_{jup})

planets4 407
      device gif ecc_dist.gif
#      device postlandfile ecc_dist.ps
      expand 1.0001
      data planets.txt
      read dist 5
      read ecc 6
      set ldist = lg(dist)
      limits -2 1 0 1
      ticksize -1 0 0 0
      ptype 10 3
      points ldist ecc
      box
      xlabel Orbital semimajor axis (AU)
      ylabel Eccentricity

planets5 408
      device gif ecc_peri.gif
#      device postlandfile ecc_peri.ps
      expand 1.0001
      data planets.txt
      read dist 5
      read ecc 6
      set ldist = lg(dist*(1-ecc))
      limits -2 1 0 1
      ticksize -1 0 0 0
      ptype 10 3
      points ldist ecc
      box
      xlabel Perihelion distance (AU)
      ylabel Eccentricity

planets6 409
	 device gif mass_hist.gif
#	  device postlandfile mass_hist.ps
	 expand 1.0001
	 data planets.txt
	 read mass 3
	 define min 0
	 define max 20
	 define binsize 1
	 get_hist mass vec1 vec2 $min $max $binsize
	 lim vec1 vec2
	 box	
	 barhist 100 vec1 vec2
	 xlabel Minimum Mass (M_{jup})
	 ylabel Number of Planets

get_hist 6    # get_hist input output-x output-y base top width
              # given $1, get a histogram in $3, with the centres of the
              # bins in $2. Bins go from $4 to $5, with width $6.
              SET $2 = $4+$6/2,$5+$6/2,$6
              SET HELP $2 X-vector for $3
              SET $3=0*$2 SET HELP $3 Histogram from $1, base $4 width $5
              DO i=0,DIMEN($1)-1 {
                 DEFINE j ( ($1[$i] - $4)/$6 )
                 SET $3[$j] = $3[$j] + 1
              }
              DEFINE j DELETE

barhist    23	# draw a bar histogram
		# syntax: barhist [%] x y
		# where % is the percentage width of the bars (optional)
		IF($?3 == 0) {            # % isn't provided
		   DEFINE 3 $2 DEFINE 2 $1 DEFINE 1 50
		}
		DEFINE _w ($1*($2[1] - $2[0])/200)   # half width of bars
		SET _x = ($2 - $_w) CONCAT ($2 - $_w) CONCAT \
			 ($2 + $_w) CONCAT ($2 + $_w)
		SET _y = 0*$3 CONCAT $3 CONCAT $3 CONCAT 0*$3
		SET _i = 1,DIMEN($2)
		SET _i = _i CONCAT (_i + .1) CONCAT (_i + .2) CONCAT (_i + .3)
		SORT { _i _x _y }
		CONNECT _x _y
		FOREACH _v ( _i _x _y ) { DELETE $_v }