Why are minor ticks not being added to my graph?

15 visualizaciones (últimos 30 días)
Kristine
Kristine el 10 de Mzo. de 2025
Comentada: Voss el 10 de Mzo. de 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) ;

Respuesta aceptada

Voss
Voss el 10 de Mzo. de 2025
Editada: Voss el 10 de Mzo. de 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 comentarios
Kristine
Kristine el 10 de Mzo. de 2025
Thank you!!
Voss
Voss el 10 de Mzo. de 2025
You're welcome!

Iniciar sesión para comentar.

Más respuestas (1)

dpb
dpb el 10 de Mzo. de 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 comentario
Kristine
Kristine el 10 de Mzo. de 2025
Hi, are you saying
hAx.XAxis.TickLabels=hAx.XAxis.TickLabels;
is code that removes the "2024" lable under the x-axis labels?

Iniciar sesión para comentar.

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Productos


Versión

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by