How do we edit xticks datetime format?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am trying to increase the number of date tick marks on a graph,
but I cannot change the resulting datetime format:
Code that I think ought to work to obtain this result doesn't. I have tried the following (with a different initial datetime):
xticks(linspace(datetime('1234-11-06'),datetime('2067-04-25'),6))
xticks(linspace(datetime('06-Nov-1234','Format','yyyy-MM-dd'),datetime('25-Apr-2067','Format','yyyy-MM-dd'),5))
xticks(linspace(datetime('1234','InputFormat','y','Format','y'),datetime('2067','InputFormat','y','Format','y'),8))
xticks(linspace(datetime('1234','InputFormat','y','Format','yyyy-MM-dd'),datetime('2067','InputFormat','y','Format','yyyy-MM-dd'),8))
What is the problem? How do I increase the number of dates?
1 comentario
Steven Lord
el 28 de Mzo. de 2017
Which release are you using?
How did you create the plot? Did you plot with numeric or datetime X data? It can make a difference.
Respuestas (1)
Jatin
el 5 de Sept. de 2024
The “xticks” function you are trying to use is meant to set or query x-axis tick values, it doesn’t provide you ways to format the way tick values appear.
In your use case, If you are using a version of MATLAB R2023b or prior, you can use “datetick” which lets you specify the format you want to use in for dates. Here is an example code to use “datetick”:
% Define start and end dates
startDate = datetime('1234-11-06', 'Format', 'yyyy-MM-dd');
endDate = datetime('2067-04-25', 'Format', 'yyyy-MM-dd');
% Generate tick positions
numTicks = 6; % Adjust this number to change the number of ticks
tickPositions = linspace(startDate, endDate, numTicks);
% Example plot
figure;
plot([startDate, endDate], [0, 1]);
hold on;
% Set the x-ticks
xticks(tickPositions);
% Optionally, format the x-tick labels
ax = gca; % Get current axes
ax.XTickLabelRotation = 45; % Rotate labels if they overlap
% Display the plot
datetick('x', 'yyyy-mm-dd', 'keepticks');
From version R2024a, the function “datetick” is not recommended, you can use the function “xtickformat” which lets you configure the tick label formats for different values including dates. Here is how you can use “xtickformat”:
% Display the plot
xtickformat('yyyy-MM-dd');
You can also go through the documentation of “datetick” and “xtickformat” for more details:
Hope this helps!
0 comentarios
Ver también
Categorías
Más información sobre Dates and Time en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!