Problem getting number of ticks and labels to work properly

2 次查看(过去 30 天)
My x axis corresponds to dates. My data go from Nov 1994 to Dec 2007 and currently the default plots even years from 1996 to 2006. I would like to plot every year from 1995 to 2007. Here's the section of code
xlabel('Year');
xticks = ([daten(47),daten(409),daten(759),daten(1122),daten(1487),daten(1852),daten(2218),daten(2576),daten(2941),daten(3306),daten(3672),daten(4037),daten(4402)]);
xticklabels = ({'1995','1996','1997','1998','1999','2000','2001','2002','2003','2004','2005','2006','2007'});
xtickangle(45);
daten is a vector of daily values expressed as datetime. The numeric values provided represent the index corresponding to Jan 1 for each year.
I don't get an error yet my x axis plots 1996, 1998, 2000, 2002, 2004, and 2006. I have no idea why it appears to be ignoring my efforts to plot every year.

回答(1 个)

Bjorn Gustavsson
Bjorn Gustavsson 2019-10-25
Do you get your xticks at the even years with the xticklabels for the first 6 years?
You can at least check the x-tick values with
get(gca,'xtick')
In my experience it works well as long as I've have a large enough number of xticklabels to do this:
set(gca,'xtick',xticks,'xticklabel',xticklabels)
HTH
  1 个评论
Thomas Burbey
Thomas Burbey 2019-10-25
This doesn't work because there is no "set" method for a datetime class. I'm wondering if the datetime class is screwing this up. Any suggestions?

请先登录,再进行评论。

类别

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