How can I change the tick values on x axis?

24 次查看(过去 30 天)
Hello everyone,
I would like to put the tick label on x axis every 2 years instead of every 5 years. How can I do it?
Thank you!
LD = load('MODESTAMMEQ.mat');
MODESTAMMEQ = LD.MODESTAMMEQ;
dv = regexp(MODESTAMMEQ.Jan1989, '\d*\-\w*\-\d*','match');
MODESTAMMEQ.Var1 = datetime([dv{:}], 'InputFormat',"dd-MMM-yyyy").';
x = MODESTAMMEQ.Var1;
y = MODESTAMMEQ.Var2*10*0.35;
figure
plot(x, y)
grid

采纳的回答

Peter Bonavita
Peter Bonavita 2021-12-8
Hi Pul,
You can use xticks to specify the values where you want the ticks to appear, and xticklabels to customize the labels themselves, if you wish.
In your case, you'll specify something like xticks([0 5 10 15]), etc.
Thanks,
Peter
  4 个评论
Peter Bonavita
Peter Bonavita 2021-12-8
Hi Pul, this should get you started.
First, check out the value of xticks from your original plot:
>> ticks = xticks
ticks =
1×4 datetime array
2000 2005 2010 2015
Create a datetime array as Rik suggested:
newTicks = datetime({'2000','2002','2004','2006'},'InputFormat','u');
Use this to update the labels on the plot with xticks:
>> xticks(newTicks)
Pul
Pul 2021-12-8
Thank you @Peter Bonavita.
The only problem is that then I can't plot my y with the new x, because they have a different length.
newTicks = datetime({'2000','2002','2004','2006','2008','2010','2012','2014','2016','2018'},'InputFormat','u');
xticks(''2000','2002','2004','2006','2008','2010','2012','2014','2016','2018');

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Grid Lines, Tick Values, and Labels 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by