MATLAB Answers

Problem getting number of ticks and labels to work properly

2 ビュー (過去 30 日間)
Thomas Burbey
Thomas Burbey 2019 年 10 月 25 日
Commented: Thomas Burbey 2019 年 10 月 25 日
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.

  0 件のコメント

サインイン to comment.

件の回答 (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?

サインイン to comment.

サインイン してこの質問に回答します。

タグ

製品


Translated by