How to hide representative duration at datetime X-axis plot?

How to remove/hide representative duration at datetime X-axis plot under auto-mode condition(XTickLabelMode)?

 채택된 답변

Starting in MATLAB R2023b, you can add, remove, or update the secondary labels using
Demo
plot(datetime(2014,6,9)+days(0:9), 0:9)
xsecondarylabel(Visible="off")

댓글 수: 2

It is good news to me but I am still stuck on 2021b version.
Thank you for caring about this even after 3 years.
I realize @Euigyeong Hong is stuck on R2021b, but for others who come across this answer:
Starting in R2024a you have even more control over the secondary label.
  • You can use the xsecondarylabel command (introduced in R2023b) to hide the label (set Visible='off') or set a manual string to hard-code your secondary label.
  • Starting in R2024a, you can now set the SecondaryLabelFormat property on the x-axis if you want to change the formatting of the label without losing the automatic nature.
ax = axes;
plot(ax, datetime(2014,6,9)+days(0:9), 0:9);
ax.XAxis.SecondaryLabelFormat = 'yyyy-MM';

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Ameer Hamza
Ameer Hamza 2020년 10월 8일
편집: Ameer Hamza 2020년 10월 8일
You can do it by running the following statements.
ax = gca;
ax.XTickLabel = ax.XTickLabel;
or
ax = gca;
ax.XTickLabelMode = 'manual';

댓글 수: 4

Thanks, Ameer.
But I missed 'under auto-mode condition' in the question. Because when I zoom in to very short time in the figure, it it useful to see data by auto-mode x-axis.
Do you have any other method to do that?
There does not seem to be a documented way.
That's too bad. It seems to need an option.
Thank you, Ameer!!
I think for normal visualization, when you need to zoom on the axes, the date might not be an issue. Just turn it off when printing or saving the image.

댓글을 달려면 로그인하십시오.

Seth Furman
Seth Furman 2020년 10월 12일
편집: Seth Furman 2020년 10월 12일
If you just want the duration data for the time of day on the x-axis, you can use the timeofday method for datetime.
>> x = datetime('today'):hours(1):datetime('today')+hours(10);
>> y = 0:10;
>> plot(timeofday(x),y)
>> xtickformat('hh:mm')

댓글 수: 1

Euigyeong Hong
Euigyeong Hong 2020년 10월 12일
편집: Euigyeong Hong 2020년 10월 12일
Thanks, Seth.
But I am finding to see the plot by auto-format mode because when I zoom in to short time it is easy to see "hh:mm:ss.SSS" format by itself. After checking the plot, I copied the figure, but the number of figure was 20~30, so I was unhappy.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Graphics Object Properties에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2020년 10월 8일

댓글:

2024년 4월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by