I believe the following is the reason, but please correct is this is wrong:
from ?axis: "The code tries hard not to draw overlapping tick labels, and so will omit labels where they would abut or overlap previously drawn labels. This can result in, for example, every other tick being labelled. The ticks are drawn left to right or bottom to top, and space at least the size of an ‘m’, multiplied by gap.axis, is left between labels. In previous R versions, this applied only for labels written parallel to the axis direction, hence not for e.g., las = 2. Using gap.axis = -1 restores that (buggy) previous behaviour (in the perpendicular case). As every nonempty label in your example would overlap or abut the previous one, only the first label is drawn. Cheers, Bert "An educated person is one who can entertain new ideas, entertain others, and entertain herself." "An educated person is one who can entertain new ideas, entertain others, and entertain herself." On Wed, May 28, 2025 at 2:28 PM Marc Girondot via R-help <r-help@r-project.org> wrote: > > Can someone explain me why in the second example, only one label is shown ? > > Thanks a lot > > Marc > > atT <- structure(c(1672520400, 1675198800, 1677618000, 1680296400, > 1682888400, > 1685566800, 1688158800, 1690837200, 1693515600, 1696107600, > 1698786000, > 1701378000, 1704056400, 1706734800, 1709240400, 1711918800, > 1714510800, > 1717189200, 1719781200, 1722459600, 1725138000, 1727730000, > 1730408400, > 1733000400, 1735678800), class = c("POSIXct", "POSIXt"), > tzone = "Asia/Riyadh") > > # Work as expected > plot(x = atT, y=rep(1, length(atT)), xaxt="n") > axis(side = 1, at=atT, labels = as.character(seq_along(atT))) > > # Only first label is shown > plot(x = atT, y=rep(1, length(atT)), xaxt="n") > axis(1, at=atT, label=c("Jan-2023", "", "", "", "", "", "Jul-2023", "", > "", "", "", "", > "Jan-2024", "", "", "", "", "", > "Jul-2024", "", "", "", "", "", > "Jan-2025"), cex.axis=0.8) > > # All labels are shown... but not elegant ! > plot(x = atT, y=rep(1, length(atT)), xaxt="n") > for (i in seq_along(atT)) { > axis(1, at=atT[i], label=c("Jan-2023", "", "", "", "", "", > "Jul-2023", "", "", "", "", "", > "Jan-2024", "", "", "", "", "", "Jul-2024", > "", "", "", "", "", > "Jan-2025")[i], cex.axis=0.8) > > } > > > R.version > _ > platform aarch64-apple-darwin20 > arch aarch64 > os darwin20 > system aarch64, darwin20 > status Patched > major 4 > minor 5.0 > year 2025 > month 05 > day 16 > svn rev 88216 > language R > version.string R version 4.5.0 Patched (2025-05-16 r88216) > nickname How About a Twenty-Six > > ------------------------------------------------------------------------ > *Marc Girondot, Pr* > > Laboratoire Ecologie, Société, Evolution > Equipe de Processus Ecologiques et Pressions Anthropiques > CNRS, AgroParisTech et Université Paris-Saclay, UMR 8079 > 91190 Gif-sur-Yvette, France > > Tel: +33 (0)1.69.15.72.30 Mobile: +33 (0)6.20.18.22.16 > e-mail: marc.giron...@universite-paris-saclay.fr > marc.giron...@gmail.com > > Web: http://hebergement.universite-paris-saclay.fr/marcgirondot/ > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide https://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide https://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.