title: Add shaded area to plotyy in Matlab
body: <p>I am working on a plot of environmental variables (lines) and the interquartile range for those variables from multiple years (grey shade areas) versus day of year.  I'm using Matlab 2014b, and because I am using more than one axis, I'm using plotyy.  My graph currently looks like this:</p>
  
  <p><img src="https://i.stack.imgur.com/bW4LN.png" alt="EnvironmentDOYPlot"></p>
  
  <p>I want to add the shaded region to the interquartile range for daily mean air temperature (Temp. in legend), just as I did for SWE and precipitation.  The problem is that temperature uses a different axes, and when I try to define which axis to use to add the shaded 'area', I get an error:</p>
  
  <pre><code>&gt;Error using area (line 35)
  &gt;Cannot set property to a deleted object
  &gt;
  &gt;Error in env_plot_for_stack_overflow (line 43)
  &gt;THarea=area(haxes(2),doy_mean_T(:,1),shadearea);
  </code></pre>
  
  <p>If I don't define which axis to use then I don't get an error, but the interquartile range plots on the precip/SWE axis, not the temperature axis.</p>
  
  <p>Here is my code to reproduce the first 30 days of my figure and the error. If you copy this into a script, the problem is a little after line 40.</p>
  
  <pre><code>%% Data &amp; definitions
  SWE_stats = [1, 117.348000000000, 91.4400000000000, 141.605000000000;2, 118.533333333333, 91.4400000000000, 144.145000000000;3, 119.549333333333, 91.4400000000000, 144.780000000000;4, 121.412000000000, 96.5200000000000, 146.685000000000;5, 122.936000000000, 96.5200000000000, 146.685000000000;6, 126.153333333333, 97.7900000000000, 148.590000000000;7, 128.185333333333, 97.7900000000000, 148.590000000000;8, 129.709333333333, 102.235000000000, 151.765000000000;9, 131.572000000000, 102.235000000000, 152.400000000000;10, 132.588000000000, 102.235000000000, 154.305000000000;11, 134.789333333333, 104.140000000000, 154.940000000000;12, 136.144000000000, 104.140000000000, 156.845000000000;13, 138.006666666667, 104.775000000000, 159.385000000000;14, 138.853333333333, 104.140000000000, 159.385000000000;15, 139.022666666667, 104.140000000000, 161.290000000000;16, 140.038666666667, 107.315000000000, 161.290000000000;17, 140.546666666667, 107.315000000000, 161.290000000000;18, 142.917333333333, 109.220000000000, 163.195000000000;19, 145.457333333333, 110.490000000000, 167.005000000000;20, 148.674666666667, 109.855000000000, 173.355000000000;21, 149.860000000000, 111.760000000000, 177.165000000000;22, 152.061333333333, 111.760000000000, 179.070000000000;23, 154.093333333333, 111.760000000000, 180.340000000000;24, 155.617333333333, 111.760000000000, 182.245000000000;25, 157.818666666667, 111.760000000000, 182.245000000000;26, 158.496000000000, 112.395000000000, 184.150000000000;27, 160.020000000000, 112.395000000000, 186.055000000000;28, 161.036000000000, 112.395000000000, 186.690000000000;29, 162.390666666667, 114.300000000000, 189.230000000000;30, 163.914666666667, 114.935000000000, 189.230000000000];
  doy_Sum_precip = [1, 0.169333333333333, 0, 0.254000000000000;2, 1.79840000000000, 0, 1.56350000000000;3, 0.926400000000000, 0, 0.925000000000000;4, 1.09773333333333, 0, 2.31350000000000;5, 1.70760000000000, 0, 1.65100000000000;6, 0.802866666666667, 0, 1.20650000000000;7, 1.08426666666667, 0, 0.190500000000000;8, 0.592666666666667, 0, 0.698500000000000;9, 1.32026666666667, 0, 1.46050000000000;10, 2.35740000000000, 0, 1.58750000000000;11, 1.24480000000000, 0, 1.67900000000000;12, 1.08400000000000, 0, 1.39700000000000;13, 0.377333333333333, 0, 0.790500000000000;14, 0.203200000000000, 0, 0;15, 0.304800000000000, 0, 0;16, 0.728400000000000, 0, 0.952500000000000;17, 1.78973333333333, 0, 1.01600000000000;18, 2.09146666666667, 0, 2.15900000000000;19, 3.64760000000000, 0, 8.02000000000000;20, 0.947200000000000, 0, 0.940500000000000;21, 1.81280000000000, 0, 1.20650000000000;22, 1.05040000000000, 0, 2.03200000000000;23, 1.04933333333333, 0, 1.39800000000000;24, 1.22426666666667, 0, 0.577000000000000;25, 1.21386666666667, 0, 2.14000000000000;26, 1.39800000000000, 0, 2.08300000000000;27, 0.406400000000000, 0, 0.381000000000000;28, 0.480133333333333, 0, 0.254000000000000;29, 1.04986666666667, 0, 0.190500000000000;30, 2.87186666666667, 0, 1.71450000000000];
  doy_mean_T = [1, -8.09985972222222, -11.1540625000000, -4.68436979166667;2, -5.79463055555556, -8.83109375000000, -1.22841145833333;3, -6.15105277777778, -9.55364583333333, -0.743854166666667;4, -6.92336388888889, -10.3746354166667, -2.77996875000000;5, -7.25890694444444, -11.0315625000000, -4.07119791666667;6, -6.18180833333333, -10.4846354166667, -2.76178125000000;7, -5.54212777777778, -9.26921875000000, -1.93483854166667;8, -5.09104166666667, -8.83031250000000, -1.83472395833333;9, -4.96344583333333, -8.44984375000000, -1.28418229166667;10, -5.27322916666667, -7.72354166666667, -0.434656250000000;11, -5.80188055555556, -9.92223958333334, -1.75604166666667;12, -6.99728333333334, -10.4307291666667, -3.12812500000000;13, -7.50514166666667, -10.4349479166667, -2.81125520833333;14, -6.15788888888889, -8.36640625000000, -1.33665104166667;15, -5.94321805555556, -7.64838541666667, -3.19562500000000;16, -7.18778888888889, -10.8927604166667, -4.12190625000000;17, -7.81982500000000, -11.9085937500000, -2.91764062500000;18, -5.99718750000000, -10.1986458333333, -2.70777083333333;19, -4.83423333333333, -8.95630208333333, -1.95089062500000;20, -5.49905833333333, -10.3791666666667, -2.15208333333333;21, -5.49337222222222, -8.93609375000000, -2.93130208333333;22, -6.19372638888889, -9.28411458333333, -3.25116145833333;23, -5.30543611111111, -9.65098958333334, -2.07925000000000;24, -4.39752361111111, -7.25994791666667, -1.20045833333333;25, -3.94550694444445, -5.87848958333333, -0.259760416666667;26, -5.62684305555556, -6.75958333333333, -3.34563541666667;27, -6.46449444444444, -10.5350520833333, -1.48580729166667;28, -7.41584861111111, -11.0597395833333, -3.56207812500000;29, -9.58481111111111, -12.7808854166667, -6.40843750000000;30, -7.77898888888889, -11.7937500000000, -3.38882812500000];
  SmallFont=14;
  
  %% Plot example
  
  figure(1)
  
  % First variable: SWE
  % Add shaded area between SWE 25 and 75 percentiles
  shadearea=[SWE_stats(:,3), (SWE_stats(:,4)-SWE_stats(:,3))];
  SWEHarea=area(SWE_stats(:,1),shadearea);
  hold on;
  
  % % Second variable: precipitation
  % Add shaded area between Precip 25 and 75 percentiles
  shadearea=[doy_Sum_precip(:,3), (doy_Sum_precip(:,4)-doy_Sum_precip(:,3))];
  precipHarea=area(doy_Sum_precip(:,1),shadearea);
  
  % Using plotyy allows for two y axes
  [haxes,hprecip,htemp]=plotyy(doy_Sum_precip(:,1),doy_Sum_precip(:,2),doy_mean_T(:,1),doy_mean_T(:,2),'plot'); %precip and temperature
  set(hprecip,'Color',[0.3,0.3,0.3],...   %precip color
      'LineWidth',3,...
      'LineStyle','-');
  set(htemp,'Color',[0.3,0.3,0.3],...     %temperature color
      'LineWidth',3,...
      'LineStyle','-.');
  % Add daily SWE
  hSWE = plot(SWE_stats(:,1),SWE_stats(:,2),'Color',[0.3,0.3,0.3],...  % plot swe
      'LineWidth',3,...
      'LineStyle','--');
  
  % Third variable: Mean air temperature (need to add after plotyy to add on
  % same scale as mean temperature)
  % Plot interquartile range of daily mean air T 
  % Add shaded area between daily mean air T 25 and 75 percentiles
  Tshadearea=[doy_mean_T(:,3), (doy_mean_T(:,4)-doy_mean_T(:,3))];
  % THIS IS WHERE THE PROBLEM IS:
  %THarea=area(haxes(2),doy_mean_T(:,1),shadearea);
  
  hold off
  
  % Adjust axes properties
  set(haxes,{'ycolor'},{'k';'k'})  % Left color , right color ...
  y1_Nticks = 5;
  y2_Nticks = 5;
  y1 = linspace(-150, 400, y1_Nticks);
  y2 = linspace(-15, 40, y2_Nticks);
  set(haxes(1),'xlim',[0 366],... % set x limits
      'ylim',[y1(1) y1(end)],...
      'ytick',y1,...
      'TickDir'     , 'out'     , ...
      'TickLength'  , [.02 .02] , ...
      'Box','off');               % get rid of top border.  See also 'linkaxes'
  set(haxes(2),'xlim',[0 366],...
      'ylim',[y2(1) y2(end)],...
      'ytick',y2,...
      'TickDir'     , 'out'     , ...
      'TickLength'  , [.02 .02] , ...
      'Box','off');
  set(haxes, 'FontSize', SmallFont) % Set axes font size
  
  % Set properties for Precip IQR           
  set(precipHarea(1),'FaceColor','none');           % Area below lower SD/iqr?
  set(precipHarea(2),'FaceColor',[.87 .87 .87]);    % Area between upper and lower SD/iqr
  set(precipHarea,'LineStyle', 'none')              % Line around shape
  
  
  % Set properties for SWE IQR        
  set(SWEHarea(1),'FaceColor','none');           % Area below lower SD?
  set(SWEHarea(2),'FaceColor',[.87 .87 .87]);    % Area between upper and lower SD
  set(SWEHarea,'LineStyle', 'none')              % Line around shape
  
  % % Set line properties for mean Temperature IQR                  
  % set(THarea(1),'FaceColor','none');           % Area below lower SD?
  % set(THarea(2),'FaceColor',[.87 .87 .87]);    % Area between upper and lower SD
  % set(THarea,'LineStyle', 'none')              % Line around shape
  
  % Add legend
  leg_names={'Precip.','Temp.','SWE'};
  LEG = legend([hprecip;htemp;hSWE],...
      leg_names,...
      'Location','Best',...
      'FontSize',SmallFont);
  set(LEG, 'Box', 'off');
  
  % Make x and y labels
  ylabel(haxes(1),'Daily Precipitation &amp; snow water (mm)','Fontsize',SmallFont) % label left y-axis
  ylabel(haxes(2),strcat('Daily Mean Air Temperature (',char(176),'C)'),'Fontsize',SmallFont) % label right y-axis
  xlabel('Day of year','Fontsize',SmallFont)
  </code></pre>