Draw vertical lines which have constant interval
    8 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 Calendar 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!



