Draw vertical lines which have constant interval

7 views (last 30 days)
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 Comments
주희 박
주희 박 on 3 Oct 2022
maybe xline. But It also didn't work. I did xline(3:12:423),the results is not what i want

Sign in to comment.

Accepted Answer

VBBV
VBBV on 3 Oct 2022
Edited: VBBV on 3 Oct 2022
P=[1:432]
P = 1×432
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
original_form = load('original_time.mat')
original_form = struct with fields:
t: [723195 723226 723255 723286 723316 723347 723377 723408 723439 723469 723500 723530 723561 723592 723620 723651 723681 723712 723742 723773 723804 723834 723865 723895 723926 723957 723985 724016 724046 724077 724107 724138 724169 724199 … ]
time = datetime(original_form.t,'ConvertFrom','datenum')
time = 1×432 datetime array
15-Jan-1980 15-Feb-1980 15-Mar-1980 15-Apr-1980 15-May-1980 15-Jun-1980 15-Jul-1980 15-Aug-1980 15-Sep-1980 15-Oct-1980 15-Nov-1980 15-Dec-1980 15-Jan-1981 15-Feb-1981 15-Mar-1981 15-Apr-1981 15-May-1981 15-Jun-1981 15-Jul-1981 15-Aug-1981 15-Sep-1981 15-Oct-1981 15-Nov-1981 15-Dec-1981 15-Jan-1982 15-Feb-1982 15-Mar-1982 15-Apr-1982 15-May-1982 15-Jun-1982 15-Jul-1982 15-Aug-1982 15-Sep-1982 15-Oct-1982 15-Nov-1982 15-Dec-1982 15-Jan-1983 15-Feb-1983 15-Mar-1983 15-Apr-1983 15-May-1983 15-Jun-1983 15-Jul-1983 15-Aug-1983 15-Sep-1983 15-Oct-1983 15-Nov-1983 15-Dec-1983 15-Jan-1984 15-Feb-1984 15-Mar-1984 15-Apr-1984 15-May-1984 15-Jun-1984 15-Jul-1984 15-Aug-1984 15-Sep-1984 15-Oct-1984 15-Nov-1984 15-Dec-1984 15-Jan-1985 15-Feb-1985 15-Mar-1985 15-Apr-1985 15-May-1985 15-Jun-1985 15-Jul-1985 15-Aug-1985 15-Sep-1985 15-Oct-1985 15-Nov-1985 15-Dec-1985 15-Jan-1986 15-Feb-1986 15-Mar-1986 15-Apr-1986 15-May-1986 15-Jun-1986 15-Jul-1986 15-Aug-1986 15-Sep-1986 15-Oct-1986 15-Nov-1986 15-Dec-1986 15-Jan-1987 15-Feb-1987 15-Mar-1987 15-Apr-1987 15-May-1987 15-Jun-1987 15-Jul-1987 15-Aug-1987 15-Sep-1987 15-Oct-1987 15-Nov-1987 15-Dec-1987 15-Jan-1988 15-Feb-1988 15-Mar-1988 15-Apr-1988 15-May-1988 15-Jun-1988 15-Jul-1988 15-Aug-1988 15-Sep-1988 15-Oct-1988 15-Nov-1988 15-Dec-1988 15-Jan-1989 15-Feb-1989 15-Mar-1989 15-Apr-1989 15-May-1989 15-Jun-1989 15-Jul-1989 15-Aug-1989 15-Sep-1989 15-Oct-1989 15-Nov-1989 15-Dec-1989 15-Jan-1990 15-Feb-1990 15-Mar-1990 15-Apr-1990 15-May-1990 15-Jun-1990 15-Jul-1990 15-Aug-1990 15-Sep-1990 15-Oct-1990 15-Nov-1990 15-Dec-1990 15-Jan-1991 15-Feb-1991 15-Mar-1991 15-Apr-1991 15-May-1991 15-Jun-1991 15-Jul-1991 15-Aug-1991 15-Sep-1991 15-Oct-1991 15-Nov-1991 15-Dec-1991 15-Jan-1992 15-Feb-1992 15-Mar-1992 15-Apr-1992 15-May-1992 15-Jun-1992 15-Jul-1992 15-Aug-1992 15-Sep-1992 15-Oct-1992 15-Nov-1992 15-Dec-1992 15-Jan-1993 15-Feb-1993 15-Mar-1993 15-Apr-1993 15-May-1993 15-Jun-1993 15-Jul-1993 15-Aug-1993 15-Sep-1993 15-Oct-1993 15-Nov-1993 15-Dec-1993 15-Jan-1994 15-Feb-1994 15-Mar-1994 15-Apr-1994 15-May-1994 15-Jun-1994 15-Jul-1994 15-Aug-1994 15-Sep-1994 15-Oct-1994 15-Nov-1994 15-Dec-1994 15-Jan-1995 15-Feb-1995 15-Mar-1995 15-Apr-1995 15-May-1995 15-Jun-1995 15-Jul-1995 15-Aug-1995 15-Sep-1995 15-Oct-1995 15-Nov-1995 15-Dec-1995 15-Jan-1996 15-Feb-1996 15-Mar-1996 15-Apr-1996 15-May-1996 15-Jun-1996 15-Jul-1996 15-Aug-1996 15-Sep-1996 15-Oct-1996 15-Nov-1996 15-Dec-1996 15-Jan-1997 15-Feb-1997 15-Mar-1997 15-Apr-1997 15-May-1997 15-Jun-1997 15-Jul-1997 15-Aug-1997 15-Sep-1997 15-Oct-1997 15-Nov-1997 15-Dec-1997 15-Jan-1998 15-Feb-1998 15-Mar-1998 15-Apr-1998 15-May-1998 15-Jun-1998 15-Jul-1998 15-Aug-1998 15-Sep-1998 15-Oct-1998 15-Nov-1998 15-Dec-1998 15-Jan-1999 15-Feb-1999 15-Mar-1999 15-Apr-1999 15-May-1999 15-Jun-1999 15-Jul-1999 15-Aug-1999 15-Sep-1999 15-Oct-1999 15-Nov-1999 15-Dec-1999 15-Jan-2000 15-Feb-2000 15-Mar-2000 15-Apr-2000 15-May-2000 15-Jun-2000 15-Jul-2000 15-Aug-2000 15-Sep-2000 15-Oct-2000 15-Nov-2000 15-Dec-2000 15-Jan-2001 15-Feb-2001 15-Mar-2001 15-Apr-2001 15-May-2001 15-Jun-2001 15-Jul-2001 15-Aug-2001 15-Sep-2001 15-Oct-2001 15-Nov-2001 15-Dec-2001 15-Jan-2002 15-Feb-2002 15-Mar-2002 15-Apr-2002 15-May-2002 15-Jun-2002 15-Jul-2002 15-Aug-2002 15-Sep-2002 15-Oct-2002 15-Nov-2002 15-Dec-2002 15-Jan-2003 15-Feb-2003 15-Mar-2003 15-Apr-2003 15-May-2003 15-Jun-2003 15-Jul-2003 15-Aug-2003 15-Sep-2003 15-Oct-2003 15-Nov-2003 15-Dec-2003 15-Jan-2004 15-Feb-2004 15-Mar-2004 15-Apr-2004 15-May-2004 15-Jun-2004 15-Jul-2004 15-Aug-2004 15-Sep-2004 15-Oct-2004 15-Nov-2004 15-Dec-2004 15-Jan-2005 15-Feb-2005 15-Mar-2005 15-Apr-2005 15-May-2005 15-Jun-2005 15-Jul-2005 15-Aug-2005 15-Sep-2005 15-Oct-2005 15-Nov-2005 15-Dec-2005 15-Jan-2006 15-Feb-2006 15-Mar-2006 15-Apr-2006 15-May-2006 15-Jun-2006 15-Jul-2006 15-Aug-2006 15-Sep-2006 15-Oct-2006 15-Nov-2006 15-Dec-2006 15-Jan-2007 15-Feb-2007 15-Mar-2007 15-Apr-2007 15-May-2007 15-Jun-2007 15-Jul-2007 15-Aug-2007 15-Sep-2007 15-Oct-2007 15-Nov-2007 15-Dec-2007 15-Jan-2008 15-Feb-2008 15-Mar-2008 15-Apr-2008 15-May-2008 15-Jun-2008 15-Jul-2008 15-Aug-2008 15-Sep-2008 15-Oct-2008 15-Nov-2008 15-Dec-2008 15-Jan-2009 15-Feb-2009 15-Mar-2009 15-Apr-2009 15-May-2009 15-Jun-2009 15-Jul-2009 15-Aug-2009 15-Sep-2009 15-Oct-2009 15-Nov-2009 15-Dec-2009 15-Jan-2010 15-Feb-2010 15-Mar-2010 15-Apr-2010 15-May-2010 15-Jun-2010 15-Jul-2010 15-Aug-2010 15-Sep-2010 15-Oct-2010 15-Nov-2010 15-Dec-2010 15-Jan-2011 15-Feb-2011 15-Mar-2011 15-Apr-2011 15-May-2011 15-Jun-2011 15-Jul-2011 15-Aug-2011 15-Sep-2011 15-Oct-2011 15-Nov-2011 15-Dec-2011 15-Jan-2012 15-Feb-2012 15-Mar-2012 15-Apr-2012 15-May-2012 15-Jun-2012 15-Jul-2012 15-Aug-2012 15-Sep-2012 15-Oct-2012 15-Nov-2012 15-Dec-2012 15-Jan-2013 15-Feb-2013 15-Mar-2013 15-Apr-2013 15-May-2013 15-Jun-2013 15-Jul-2013 15-Aug-2013 15-Sep-2013 15-Oct-2013 15-Nov-2013 15-Dec-2013 15-Jan-2014 15-Feb-2014 15-Mar-2014 15-Apr-2014 15-May-2014 15-Jun-2014 15-Jul-2014 15-Aug-2014 15-Sep-2014 15-Oct-2014 15-Nov-2014 15-Dec-2014 15-Jan-2015 15-Feb-2015 15-Mar-2015 15-Apr-2015 15-May-2015 15-Jun-2015 15-Jul-2015 15-Aug-2015 15-Sep-2015 15-Oct-2015 15-Nov-2015 15-Dec-2015
plot(time,P);
%datetick('x','yy/mm','keeplimits');
grid on
march = time(1) + calmonths(2) : calyears(1) : time(end)
march = 1×36 datetime array
15-Mar-1980 15-Mar-1981 15-Mar-1982 15-Mar-1983 15-Mar-1984 15-Mar-1985 15-Mar-1986 15-Mar-1987 15-Mar-1988 15-Mar-1989 15-Mar-1990 15-Mar-1991 15-Mar-1992 15-Mar-1993 15-Mar-1994 15-Mar-1995 15-Mar-1996 15-Mar-1997 15-Mar-1998 15-Mar-1999 15-Mar-2000 15-Mar-2001 15-Mar-2002 15-Mar-2003 15-Mar-2004 15-Mar-2005 15-Mar-2006 15-Mar-2007 15-Mar-2008 15-Mar-2009 15-Mar-2010 15-Mar-2011 15-Mar-2012 15-Mar-2013 15-Mar-2014 15-Mar-2015
xticks(march)
xline(march,'linestyle','--')
  3 Comments
VBBV
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
VBBV on 3 Oct 2022
Edited: VBBV on 3 Oct 2022
@Walter Roberson you're right. sorry, i overlooked that line. thanks for it.

Sign in to comment.

More Answers (1)

Walter Roberson
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)

Community Treasure Hunt

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

Start Hunting!