MATLAB: How to keep ticks on xaxis without the xlabels disappearing automatically

xlabelxticks

I am trying to plot 3 x 2 plots in a single window so that only the plots in 3rd row have xaxis ticks and labels. My xaxis has 219 points and I need the xticks to be closely spaced. When I write the command for xticks, the xlabels disappear. Please help. Also I need the xaxis label to be formatted in two lines. The months as ticks and the second line as year. Any help in that regard would be appreciated. Below is my sample code.
Qnet=ncread('extracted_netflux_088.nc', 'NETFLUX');
Qpen1=ncread('Qpen_088_change.nc', 'QPEN');
ax6 = axes('Position',[0.54 0.07 0.4 0.29]);
plot(X(1,1:219),squeeze(Qnet),'k','LineWidth',1.2);xlim([t(1) t(end)]);
ylabel('Netflux');
yyaxis right;
plot(X(1,1:219),squeeze(Qpen1),'b','LineWidth',1.2);
ylabel('Qpen','FontSize',12,'FontWeight','bold','Color','b');
xtck=1:55:219;
set(gca,'YColor',[0 0 1]);
set(gca, 'XTickLabel',datestr(t(1:55:219),('mmm-yy')),'FontWeight','bold','FontSize',8);
set(gca,'XTick', xtck);

Best Answer

When you set XTick, MATLAB automatically resets XTickLabel, but the opposite is not true. So set XTick first and then set XTickLabel .