Hi. I'm trying to call patch without permanently changing my X axis from a datetime array. Here is an example of what I'm trying to do. The call to temporarily change the data type in XData is not working. Any suggestions?
% Create data & plot
x = datetime(2017,1,1) + caldays(1:31);y = rand(1,31);plt = plot(x, y);% Convert X axis to a double
plt.XData = datenum(plt.XData);% Shade patch area
Ys = ylim;Y1 = [Ys(1),Ys(2),Ys(2),Ys(1)]; x1 = datenum(datetime(2017,1,14));x2 = datenum(datetime(2017,1,21));ptch = patch([x1 x1 x2 x2], Y1, [0 0 0]);ptch.FaceAlpha = .15;% Convert X axis back to a datetime type
plt.XData = datetime(plt.XData, 'ConvertFrom', 'datenum');
Best Answer