Draw vertical lines which have constant interval
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi, I attached time(datetime, 1980.1.1~2015.12.31) and set y value as P=[1:432].
* I convert date form.I also attached original time form(original_time)
time = datetime(original_form,'ConvertFrom','datenum');
If i draw the plot, i got below figure.
plot(time,P);
datetick('x','yy/mm','keeplimits');
grid on
And i want to add constant vertical line on every March.
I couldn't fine proper method. Please help me :(
2 comentarios
Respuesta aceptada
VBBV
el 3 de Oct. de 2022
Editada: VBBV
el 3 de Oct. de 2022
P=[1:432]
original_form = load('original_time.mat')
time = datetime(original_form.t,'ConvertFrom','datenum')
plot(time,P);
%datetick('x','yy/mm','keeplimits');
grid on
march = time(1) + calmonths(2) : calyears(1) : time(end)
xticks(march)
xline(march,'linestyle','--')
3 comentarios
VBBV
el 3 de Oct. de 2022
Editada: VBBV
el 3 de Oct. de 2022
Following @Walter Roberson answer, you could change the xticks for the plot axis and then draw xline as usual for every march month
VBBV
el 3 de Oct. de 2022
Editada: VBBV
el 3 de Oct. de 2022
@Walter Roberson you're right. sorry, i overlooked that line. thanks for it.
Más respuestas (1)
Walter Roberson
el 3 de Oct. de 2022
Editada: Walter Roberson
el 3 de Oct. de 2022
time = datetime(original_form,'ConvertFrom','datenum');
plot(time, P);
firstmarch = dateshift(time(1), 'start', 'year') + calmonths(2);
lastmarch = dateshift(time(end), 'start', year') + calmonths(2);
marchs = firstmarch : calmonths(12) : lastmarch;
xline(marchs)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!