Размещение меток оси X между точками периода - PullRequest
8 голосов
/ 23 сентября 2011

Я хотел бы разместить метки оси X между галочками.

Например, по умолчанию R создает график, который выглядит следующим образом: (Обратите внимание, я добавил axis(1,c(2001,2002,2003,2004,2005,2006,2007,2008,2009,2010)), чтобы дать большее количество лет меток, в противном случае R использует только 2002 2004 2006 2008 2010 в качестве меток.) enter image description here

Но я хочу переместить метки так, чтобы график выглядел так: enter image description here

Я пытался искать, но я даже не знаю, как это называется.

1 Ответ

14 голосов
/ 23 сентября 2011

Вы можете сместить метки и метки с отдельными вызовами на axis.

(Пример ниже не очень похож на ваши данные, но идея та же самая.)

Составьте график чего угодно, но не включайте оси.

plot(1:10, axes = FALSE)

Нанесите метки со смещением на половину интервала и снимите отметки.(Поменяйте числа, чтобы быть «интересным»).

axis(1, at = (1:10) + 0.5, labels = 10:1, tick = FALSE)

Добавьте тики обратно в нормальное положение и держите этикетки выключенными.Добавьте коробку, чтобы закончить работу.

Будьте осторожны, ярлыки теперь немного двусмысленны с точки зрения того, к какому тику они относятся, и какова позиция тика (хотя для начала года это не должно быть проблемой).

axis(1, at = (1:10), labels = FALSE, tick = TRUE)
box()

offset labels from ticks

Вы можете использовать axis(2, ...), чтобы построить ось Y таким же образом, или просто использовать значения по умолчанию с axis(2).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...