How do we edit xticks datetime format?

2 ビュー (過去 30 日間)
Daniel Bridges
Daniel Bridges 2017 年 3 月 28 日
回答済み: Jatin 2024 年 9 月 5 日
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 件のコメント
Steven Lord
Steven Lord 2017 年 3 月 28 日
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.

サインインしてコメントする。

回答 (1 件)

Jatin
Jatin 2024 年 9 月 5 日
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!

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by