Draw vertical lines which have constant interval
7 views (last 30 days)
Show older comments
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 :(
Accepted Answer
VBBV
on 3 Oct 2022
Edited: VBBV
on 3 Oct 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 Comments
VBBV
on 3 Oct 2022
Edited: VBBV
on 3 Oct 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
on 3 Oct 2022
Edited: VBBV
on 3 Oct 2022
@Walter Roberson you're right. sorry, i overlooked that line. thanks for it.
More Answers (1)
Walter Roberson
on 3 Oct 2022
Edited: Walter Roberson
on 3 Oct 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)
See Also
Categories
Find more on Title in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!