MATLAB Answers


how to create timeline plot?

Asked by Lola SE on 25 Aug 2019 at 17:44
Latest activity Commented on by Star Strider
on 29 Aug 2019 at 11:59
Hi all,
I want to create a timeline plot similer to the following:
North | |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||
Central | ||||||||||||||||||||||||||||||||||
Jan Feb Mar Apr .....etc
start date end date start date end date
the time periods for the north are datenum([2019 01 30]) datenum([2019 04 12], and datenum(2019,07,03) datenum(2019,08,25)
Time for the Central is datenum(2019,01,08) datenum(2019,03,03)
Any help will be appreciated


Sign in to comment.

1 Answer

Answer by Star Strider
on 25 Aug 2019 at 18:23
 Accepted Answer

Try this:
North = [datenum([2019 01 30]), datenum([2019 04 12]); datenum(2019,07,03) datenum(2019,08,25)];
Central = [datenum(2019,01,08) datenum(2019,03,03)];
plot(North', ones(2)*2, '-b', 'LineWidth', 5);
hold on
plot(Central, [1 1], '-r', 'LineWidth',5)
hold off
ylim([0 3])
datetick('x', 'mmm')
set(gca, 'YTick',[1 2], 'YTickLabel',{'Central','North'})
There are also other options, for example using the patch function. It depends on what you want to do.


Star Strider
on 29 Aug 2019 at 11:45
I will do my best.
My best guess is that you would need to do something like this for multiple timelines:
plot(North', ones(size(North'))*k, '-b', 'LineWidth', 5);
where ‘k’ is the y-value where you want to plot them.
As always, my pleasure.
Lola SE on 29 Aug 2019 at 11:58
Thanks like a bunch!
Star Strider
on 29 Aug 2019 at 11:59
As always, my pleasure!

Sign in to comment.