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);)

 Réponse acceptée

Walter Roberson
Walter Roberson le 20 Jan 2025
Déplacé(e) : Walter Roberson le 20 Jan 2025
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 commentaires

shamal
shamal le 20 Jan 2025
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.
shamal
shamal le 20 Jan 2025
okk thank

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 17 Jan 2025

0 votes

Use xticks
If you must report every week, then you will probably want to use xtickangle

9 commentaires

shamal
shamal le 18 Jan 2025
Modifié(e) : shamal le 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.
Walter Roberson
Walter Roberson le 18 Jan 2025
Modifié(e) : Walter Roberson le 18 Jan 2025
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
?
shamal
shamal le 18 Jan 2025
i use '24.1.0.2603908 (R2024a) Update 3'
Cris LaPierre
Cris LaPierre le 18 Jan 2025
Maybe alos share XDates.Format
What shows up for
which -all xticks
shamal
shamal le 18 Jan 2025
K>> XDates.Format
ans =
'dd/MM/yyyy'
shamal
shamal le 18 Jan 2025
K>> which -all xticks
C:\Program Files\MATLAB\R2024a\toolbox\matlab\graph3d\xticks.m
Cris LaPierre
Cris LaPierre le 20 Jan 2025
Modifié(e) : Cris LaPierre le 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 le 20 Jan 2025
Modifié(e) : shamal le 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' );

Connectez-vous pour commenter.

Catégories

En savoir plus sur Axes Appearance dans Centre d'aide et File Exchange

Produits

Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by