X
5020

How do I draw Legend graphic samples that show only 1 symbol instead of 3?

QUESTION: 

How do I draw Legend graphic samples that show only 1 symbol instead of 3? 

ANSWER:
 

By default, the Legend function graphic displays samples containing symbols using 3 symbols. 

To create Legend samples that only display 1 symbol, you can position the symbols to overlap by setting the property SAMPLE_WIDTH=0. For example: 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
x = RANDOMU(seed, 100)
y = RANDOMU(seed, 100) * 2 - 1

p0 = SCATTERPLOT(x, y, $
  SYM_COLOR='red', SYMBOL='o', $
  SYM_SIZE=1, SYM_THICK=2, $
  NAME='Random points', $
  MARGIN=[.1,.1,.065,.18], $ 
  CLIP=0)

x = FINDGEN(50)/49.0

p1 = PLOT(x, SIN(x * 360 * !DTOR), $
  SYM_COLOR='blue', SYMBOL='star', $
  SYM_SIZE=2, SYM_THICK=2, $
  LINESTYLE=6, $ ; no plot line
  NAME='Other points', $
  CLIP=0, $
  CURRENT=p0, /OVERPLOT)

; Legend with 3-symbol sample (default)
lgnd = LEGEND(TARGET=[p0, p1], $ 
  HORIZONTAL_SPACING=.1, $ ; position nicely within legend box
  POSITION=[.36,.96], /NORMAL, $ ; position of legend box
  /AUTO_TEXT_COLOR)

; Legend with 1-symbol sample
lgnd_1_symbol = LEGEND(TARGET=[p0, p1], $
  SAMPLE_WIDTH=0, $ ; make symbols overlap
  HORIZONTAL_SPACING=.1, $ ; position nicely within legend box
  POSITION=[.9,.96], /NORMAL, $ ; position of legend box
  /AUTO_TEXT_COLOR) 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


Reviewed for external by JU, KK 14-May-2015