| 
									 So i wrote a program that plots certain data for climate models, and my supervisor is asking for EPS format. When i use IDL to plot it, the window comes up with all the data and map projections that i wanted, and everything looks good! But as soon as you SAVE it to .eps, theres a black background? if i save the EXACT same plot to .PNG there is no black background, which is exactly how i wanted it. Any ideas? heres my code.
file1=ncdf_open('tnmin_hadex_1961_1990.nc')
ncdf_varget,file1,'tnmin',tnmin
ncdf_varget,file1,'lon',lon
ncdf_varget,file1,'lat',lat
ncdf_close,file1
lon=lon-180
lat=lat-2.8
d=size(tnmin)
if d(0) EQ 1 then e=d(1)-1 
if d(0) EQ 2 then e=d(4)-1 
if d(0) EQ 3 then e=d(5)-1 
setnewcb=0
 
f=500
for i2=0,e do begin
if tnmin(i2) GT -101 $
then $
if f GT tnmin(i2) then f=tnmin(i2)
endfor
PRINT, 'Minimum Value:',f 
mapLimits = [Min(lat), Min(lon), Max(lat), Max(lon)]
tnmin=reverse(tnmin,2)
tnmin2=tnmin
tnmin2(0:47,*)=tnmin(48:95,*)
tnmin2(48:95,*)=tnmin(0:47,*)
tnmin3=tnmin2
  missing = Where(tnmin3 LT -999, count)
   IF count GT 0 THEN BEGIN
        tnmin3[missing] = !Values.F_NAN
  ENDIF
  minvalue = Floor(Min(tnmin3, /NAN))
   maxvalue = Ceil(Max(tnmin3, /NAN)) 
     scaledData = BytScl(tnmin3,top=20,/NaN,MIN=minvalue, max=maxvalue)
nc=22.0
    tn=FINDGEN(nc)
   maxmin=(maxvalue-minvalue)/nc
   tn(0)=minvalue
   for i=0.0,nc-2 do tn(i+1)=tn(i)+maxmin
   tns=string(tn, format='(F6.1)')
   
   countneg=0
   
   for countnegs=0,nc-3 do begin
   if tn(countnegs) LT 0 then countneg=countneg+1
   endfor
DEVICE, DECOMPOSED = 0
loadct, 3, ncolors=nc
;TVLCT, RGB, /get
 
  
  If minvalue LT 0 then setnewcb =1
   
TVLCT, R1,G1,B1, /get
loadct, 1, ncolors=nc
TVLCT, RGB2, /get
;TVLCT, R2,G2,B2,/GET
RGB1=indgen(256,3)
RGB1(*,0)=reverse(R1)
RGB1(*,1)=reverse(G1)
RGB1(*,2)=reverse(B1)
RGB1(0:20,0)=RGB1(235:255,0)
RGB1(0:20,1)=RGB1(235:255,1)
RGB1(0:20,2)=RGB1(235:255,2)
;RGB2=indgen(256,3)
;RGB2(*,0)=reverse(R2)
;RGB2(*,1)=reverse(G2)
;RGB2(*,2)=reverse(B2)
;RGB2(0:20,0)=RGB2(235:255,0)
;RGB2(0:20,1)=RGB2(235:255,1)
;RGB2(0:20,2)=RGB2(235:255,2)
diff=20-countneg
RGB3=indgen(256,3)
if countneg GT 0 then begin
RGB3(0:countneg-1,0)=RGB2(5:5+countneg-1,0)
RGB3(countneg:20,0)=RGB1(235:235+diff,0)
RGB3(0:countneg-1,1)=RGB2(5:5+countneg-1,1)
RGB3(countneg:20,1)=RGB1(235:235+diff,1)
RGB3(0:countneg-1,2)=RGB2(5:5+countneg-1,2)
RGB3(countneg:20,2)=RGB1(235:235+diff,2)
endif
IF setnewcb EQ 0 then RGB3= RGB1
TVLCT, 255,255,255,23
 misval=23
 if countneg GT 0 then misval=255
 IF count GT 0 THEN scaledData[missing] =misval
m=map('robinson')
   im1 = Image(scaledData,lon,-lat,$
    Limit=mapLimits, $
       Grid_Units=2, $
       Position=[0.05,0.15,0.5,1.0],$
       RGB_Table=RGB3, title='tnmin_hadex_1961_1990.nc',/overplot)
   
   tn=FINDGEN(nc)
   maxmin=(maxvalue-minvalue)/nc
   tn(0)=minvalue
   for i=0.0,nc-2 do tn(i+1)=tn(i)+maxmin
   tns=string(tn, format='(F6.1)')
   table = Congrid(RGB3[0:20,*], 256, 3)
;  table = Congrid(RGB2[11:20,*], 256, 3)
  fakeImage = Image(scaledData, lon, -lat, $
  Grid_Units=2, $
  Position=[0.05,0.15,0.95,0.90], RGB_Table=table, /overplot, /Hide)
      
      
   cb = Colorbar(Target=fakeImage,tickname=tns, /Border_On, $
   Position=[0.1, 0.1, 0.9, 0.13],TickLen=0.5,minor=0)
   cb.font_size=5
   
  map = im1.MapProjection
  grid = map.MapGrid
  map=mapcontinents()
  grid.label_position=0
  grid.color = [75,75,75]
  grid.linestyle = 1
  
   grid.grid_longitude = 90
   grid.grid_latitude = 30
   grid.font_size=10
;filename='tnmin_hadex_1961_1990.eps'
;im1.save, filename 
;im1.close
   
   end 
									
								 |