Why are minor ticks not being added to my graph?

10 vues (au cours des 30 derniers jours)
Kristine
Kristine le 10 Mar 2025
Commenté : Voss le 10 Mar 2025
I added it to my code below but it does not show up on my graph as seen in the picture (found under comments):
figure (1)
scatter(G.Date, G.("Avg_ESDiamiter"), 'LineWidth',1 ) ;
ax1 = gca ;
ax1.LineWidth = 1.5 ;
ax1.XAxis.MinorTick = 'on' ; % Here is where I added minor ticks
fontsize(gca, 12,'points') ;
xtickformat("MM-dd") ;
xtickangle(315) ;
  1 commentaire
Kristine
Kristine le 10 Mar 2025
My photo didn't seem to upload above, so there it is:

Connectez-vous pour commenter.

Réponse acceptée

Voss
Voss le 10 Mar 2025
Modifié(e) : Voss le 10 Mar 2025
To get minor ticks on a datetime axis: In addition to setting the axis ruler's MinorTick property 'on', apparently you have to specify the minor tick values themselves by setting the axis ruler's MinorTickValues property.
Example:
G = table(datetime(2024,3,(10:16).',0,0,0),randi(10,7,1),'VariableNames',{'Date','Avg_ESDiamiter'})
G = 7x2 table
Date Avg_ESDiamiter ___________ ______________ 10-Mar-2024 9 11-Mar-2024 9 12-Mar-2024 1 13-Mar-2024 7 14-Mar-2024 6 15-Mar-2024 1 16-Mar-2024 7
% example minor tick values (interpolate a new value
% between each consecutive pair of G.Date values):
NG = height(G);
mtv = interp1(1:NG,G.Date,linspace(1,NG,2*NG-1));
mtv(:)
ans = 13x1 datetime array
10-Mar-2024 00:00:00 10-Mar-2024 12:00:00 11-Mar-2024 00:00:00 11-Mar-2024 12:00:00 12-Mar-2024 00:00:00 12-Mar-2024 12:00:00 13-Mar-2024 00:00:00 13-Mar-2024 12:00:00 14-Mar-2024 00:00:00 14-Mar-2024 12:00:00 15-Mar-2024 00:00:00 15-Mar-2024 12:00:00 16-Mar-2024 00:00:00
if true
figure (1)
scatter(G.Date, G.("Avg_ESDiamiter"), 'LineWidth',1 ) ;
ax1 = gca ;
ax1.LineWidth = 1.5 ;
ax1.XAxis.MinorTick = 'on' ; % Here is where I added minor ticks
ax1.XAxis.MinorTickValues = mtv; % set the minor tick values
fontsize(gca, 12,'points') ;
xtickformat("MM-dd") ;
xtickangle(315) ;
end
  6 commentaires
Kristine
Kristine le 10 Mar 2025
Thank you!!
Voss
Voss le 10 Mar 2025
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (1)

dpb
dpb le 10 Mar 2025
d=datetime(2024,6,3+[0:35],'format','MM-dd'); % datetimes by day
scatter(d,rand(size(d)))
hAx=gca;
hAx.XAxis.MinorTickValues=d; % daily minor ticks
hAx.XAxis.MinorTick='on'; % and display...
box on
% this is an as far as I can tell, undocumented trick to turn off the secondary "year" label
hAx.XAxis.TickLabels=hAx.XAxis.TickLabels;
Have to both turn them on and give values...
  1 commentaire
Kristine
Kristine le 10 Mar 2025
Hi, are you saying
hAx.XAxis.TickLabels=hAx.XAxis.TickLabels;
is code that removes the "2024" lable under the x-axis labels?

Connectez-vous pour commenter.

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Produits


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by