How do I handle my axes after using 'pcolor' to plot a time series result?

2 views (last 30 days)
Good day, I used pcolor to plot a time series data, which is an M by N matrix. However, Im having dificulty in handling the axes, expecially the X-axis, because it display all the years (as in the image below) and that make the labes very crowdy and difficult to read. I use these codes;
%% CrtHYDL is the data (result), which is 81 by 156 matrix
%% IDS is a 1 by 81 matrix, containing list of names (characters) of the various 81 stations.
%% the X-axis should represent the 156 monthly values from January 1,2005 to December 31, 2017.
%% the Y-axis should represent the 81 stations.
figure
t1 = datetime(2005,1,1)+calmonths(0:155);
t = datevec(t1);
C1 = pcolor(CrtHYDL);
colormap(jet);
C = colorbar;
xlabel('Time (years)','FontName', 'Times New Roman','FontWeight','bold','FontSize',12);
ylabel('GPS Stations','FontName','Times New Roman','FontWeight','bold','FontSize',12);
ylabel(C,'Hydrological Load Deformation (mm)','FontName','Times New Roman','FontSize',12,'Fontweight','bold');
shading flat;
ax = gca
set(ax,'FontSize',6);
set(ax,'XTick',(1:size(CrtHYDL,2)+0.5));
set(ax,'YTick',(1:size(CrtHYDL,1)+0.5));
set(ax,'XTickLabel',{'2005','2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017'});
set(ax,'YTickLabel',IDS);
set(ax,'XTickLabelRotation',45);
and I got this plot;
So my challenge is How to edit my script to make the X-axis have just one Ticks and one Label (years) for each year (from 2005 to 2017). Also for the Y-axis, though the axis is Labeled like i wanted it to, I need the Ticks to be visible.
I,m using R2016a.
I would humbly appreciate your assistance and guide. Thank you.

Answers (0)

Categories

Find more on Graphics in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!