How to label dates on X-axis as string on monthly time step?

4 visualizaciones (últimos 30 días)
Hydro
Hydro el 31 de Oct. de 2017
Respondida: Nurhaida Nurhaida el 1 de Nov. de 2019
Hello, I would like to see dates on axis as a string in a month-year format with jumping steps for figure enhancement. Here is my code so far but when I tried to execute it, it generates year1 with steps 1,2 3 (see the plot).
Date=unique(cellstr(datestr((datenum('1981-01-01', 'yyyy-mm-dd'):datenum('2010-12-31', 'yyyy-mm-dd'))', 'yyyy-mm')));
figure();
hold on
fill([(1:360) fliplr(1:360)],[Gauge4(:,3)' fliplr(Gauge4(:,2)')],'c','FaceColor',[0.83 0.82 0.78],'EdgeColor',[0.83 0.82 0.78]);
plot(Gauge4(:,1),'-r','LineWidth',1.25);
plot(Gauge4(:,4),'--b','LineWidth',1.25);
axis tight
set(gca,'XTick',1:36:360,'XTickLabel',Date);

Respuestas (2)

KL
KL el 1 de Nov. de 2017
You already have year and month on the xaxis of the attached image but anyway, you could directly plot with the datetime on xaxis,
plot(Date,guage(:,3))
datetick('x','yyyy-mm')
  1 comentario
Hydro
Hydro el 2 de Nov. de 2017
Hello KL, Yes, the dates shown are month year however, its not what i want. I have 30 years data on monthly time step (1981-2010) equalling to 360 data points. In my code above, i am providing 36 months spacing for each tick- so the first tick should have x-axis value of Jan-1981, the second Jan 1984, the third Jan 1987 and so on. In total i would get 360/36=10 ticks with its corresponding date on the x-axis. Hope this is clear now? I also tried your code, it didnt work. Thanks for looking at the code though.

Iniciar sesión para comentar.


Nurhaida Nurhaida
Nurhaida Nurhaida el 1 de Nov. de 2019
Hi..KL..try this
set(gca,'XTick',1:36:360,'XTickLabel',Date(1:36:360));
Nur

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by