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

17 vues (au cours des 30 derniers jours)
Euigyeong Hong
Euigyeong Hong le 8 Oct 2020
Commenté : Benjamin Kraus le 26 Avr 2024 à 19:19
How to remove/hide representative duration at datetime X-axis plot under auto-mode condition(XTickLabelMode)?

Réponse acceptée

Adam Danz
Adam Danz le 20 Sep 2023
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 commentaires
Euigyeong Hong
Euigyeong Hong le 21 Sep 2023
It is good news to me but I am still stuck on 2021b version.
Thank you for caring about this even after 3 years.
Benjamin Kraus
Benjamin Kraus le 26 Avr 2024 à 19:19
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';

Connectez-vous pour commenter.

Plus de réponses (2)

Ameer Hamza
Ameer Hamza le 8 Oct 2020
Modifié(e) : Ameer Hamza le 8 Oct 2020
You can do it by running the following statements.
ax = gca;
ax.XTickLabel = ax.XTickLabel;
or
ax = gca;
ax.XTickLabelMode = 'manual';
  4 commentaires
Euigyeong Hong
Euigyeong Hong le 8 Oct 2020
That's too bad. It seems to need an option.
Thank you, Ameer!!
Ameer Hamza
Ameer Hamza le 8 Oct 2020
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.

Connectez-vous pour commenter.


Seth Furman
Seth Furman le 12 Oct 2020
Modifié(e) : Seth Furman le 12 Oct 2020
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 commentaire
Euigyeong Hong
Euigyeong Hong le 12 Oct 2020
Modifié(e) : Euigyeong Hong le 12 Oct 2020
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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Visual Exploration dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by