draw more date in the axis

I would like to report more dates: for example every month or every week
I use plot to draw it..(
plot(Ax_Sys,XDates(locs(:,i)),sig,'DisplayName',STR_name{i},'Color',SumCTR_color(i,:),'LineWidth',1);)

 Accepted Answer

load matlab_Xdates
load matlab_TeStrum
load matlab_fig
Ax_Eq.Parent
ans =
0x0 empty GraphicsPlaceholder array.
Somehow, you have an axes that has no Parent, so gca is creating a new axes, and that new axes defaults to numeric.
You should also be specific about the axes to parent graphics operations to.
legend_lines(1)=plot(Ax_Eq,XDates,TE_strum(:,1));
xtickformat(Ax_Eq, 'MMM u' );% DA SISTEMARE
xticks(Ax_Eq, XDates(1):calmonths(1):XDates(end));% DA SISTEMARE

3 Comments

thank you..because i don't see in the format to specify axis
The last line,
___ = xticks(ax,___)
is indicating that you can pass an axes as the first parameter.
okk thank

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 17 Jan 2025
Use xticks
If you must report every week, then you will probably want to use xtickangle

9 Comments

shamal
shamal on 18 Jan 2025
Edited: shamal on 18 Jan 2025
hi,
K>> XDates(1):calmonths(1):XDates(end)
ans =
1×25 datetime array
Columns 1 through 6
01/01/2023 01/02/2023 01/03/2023 01/04/2023 01/05/2023 01/06/2023
Columns 7 through 12
01/07/2023 01/08/2023 01/09/2023 01/10/2023 01/11/2023 01/12/2023
Columns 13 through 18
01/01/2024 01/02/2024 01/03/2024 01/04/2024 01/05/2024 01/06/2024
Columns 19 through 24
01/07/2024 01/08/2024 01/09/2024 01/10/2024 01/11/2024 01/12/2024
Column 25
01/01/2025
%%****************MY CODE************************
legend_lines(i)=plot(Ax_Eq,XDates,TE_strum(:,i)','DisplayName',STR_name{i},'Color',col(i,:),'LineWidth',width_arr(i));
text(Ax_Eq,r-2,TE_strum(end,i),strcat({' '},num2str(i)),'Color',col(i,:),'Interpreter','none');
xticks(XDates(1):calmonths(1):XDates(end));
Error using xticks (line 33)
Tick values must be a vector of increasing numeric values.
Are you still using R2023a ? You have the habit of not filling in the Product and Release fields when creating Questions, but those are important information.
What shows up for
legendLines(i).Parent.XAxis
?
i use '24.1.0.2603908 (R2024a) Update 3'
Maybe alos share XDates.Format
What shows up for
which -all xticks
K>> XDates.Format
ans =
'dd/MM/yyyy'
K>> which -all xticks
C:\Program Files\MATLAB\R2024a\toolbox\matlab\graph3d\xticks.m
Cris LaPierre
Cris LaPierre on 20 Jan 2025
Edited: Cris LaPierre on 20 Jan 2025
I can't duplicate your error, and I show an example that works with the expected data.
Please share all the data used to create your figure. Consider saving your variables to a mat file and attaching it to your post using the paperclip icon. Since you are specifiying a target axis, it would be insightful to see all relevant code.
shamal
shamal on 20 Jan 2025
Edited: shamal on 20 Jan 2025
Ok i try to send it
legend_lines(1)=plot(Ax_Eq,XDates,TE_strum(:,1));
xtickformat( 'MMM u' );% DA SISTEMARE
xticks(XDates(1):calmonths(1):XDates(end));% DA SISTEMARE
Error using xtickformat (line 34)
Invalid numeric tick label format.
Error in untitled2 (line 7)
xtickformat( 'MMM u' );

Sign in to comment.

Categories

Products

Release

R2024a

Asked:

on 17 Jan 2025

Commented:

on 20 Jan 2025

Community Treasure Hunt

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

Start Hunting!