2011-09-23 20 views
6

Chciałbym umieścić etykiety osi X między kleszczami.Umieszczanie etykiet osi X między kropkami

Na przykład, domyślnie R generuje wykres, który wygląda tak: (. Uwaga, dodałem axis(1,c(2001,2002,2003,2004,2005,2006,2007,2008,2009,2010)) dać większą ilość lat etykiet, w przeciwnym razie tylko R wykorzystuje 2002 2004 2006 2008 2010 jako etykiety) enter image description here

Ale Chcę przesunąć etykiety tak, aby działka wyglądała następująco: enter image description here

Próbowałem szukać, ale nie wiem nawet, jak to się nazywa.

+1

Pomoże to wiedzieć, w jaki sposób przechowywane są wartości x. Liczby całkowite? Daktyle? Data-czasy? – joran

+0

Wartości x są przechowywane jako funkcja 'ts()'. – OSlOlSO

Odpowiedz

14

Etykiety i kleszcze można przesuwać osobnymi numerami do axis.

(Poniższy przykład nie wygląda tak jak swoich danych, ale idea jest taka sama.)

Działka cokolwiek, ale zachować osie off.

plot(1:10, axes = FALSE) 

Wykreślić etykiety z przesunięciem o połowę i wyłączyć kleszcze. (Odwróć liczby tylko po to, by być "interesujące").

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

Dodaj tyknięcia z powrotem w normalnej pozycji i nie etykietuj. Dodaj pole, aby zakończyć pracę.

Bądź jednak ostrożny, etykiety są teraz niejasne pod względem tego, którego znacznika dotyczą, i jaka jest pozycja zaznaczenia (chociaż przez rok od początku do końca nie powinno to stanowić problemu).

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

offset labels from ticks

Można użyć axis(2, ...) skonstruować oś y w taki sam sposób, lub po prostu użyć domyślnych z axis(2).

Powiązane problemy