Zastąp oś X własnymi wartościami


101

Mam pytanie dotyczące polecenia plot ().

Czy istnieje sposób na całkowite wyeliminowanie osi X i zastąpienie jej własnymi wartościami? Wiem, że mogę pozbyć się osi, robiąc

plot(x,y, xaxt = 'n')

a następnie dodaj oś z

axis(side = 1 etc.)

Jednak kiedy dodam oś, oczywiście nadal odnosi się ona do danych wykreślonych jako „x”. Chciałbym tylko wykreślić wartości „y” i dodać własną oś X w sensie „rysowania” osi X z określonymi własnymi wartościami. Czy istnieje jakiś sposób, aby to zrobić?

Tłem tego pytania jest to, że moje dwie ramki danych różnią się długością i dlatego nie mogę ich wykreślić.


Czy chcesz wykreślić wektory o różnych długościach, czy po prostu chcesz samodzielnie ustawić etykietę x? Czy możesz podać przykład lub podać więcej informacji o zestawie danych?
Manoel Galdino

Możesz również chcieć zobaczyć, jak połączyć razem dwie ramki danych. Możesz być w stanie wykonać więcej wykresów na podstawie danych i prawdopodobnie sprawić, że dane będą zawierały więcej informacji.
Sam



Odpowiedzi:


182

Nie jestem pewien, czy to masz na myśli, ale możesz to zrobić:

plot(1:10, xaxt = "n", xlab='Some Letters')
axis(1, at=1:10, labels=letters[1:10])

który następnie daje wykres:

wprowadź opis obrazu tutaj


Dzięki Tim! Nie do końca to, czego szukałem, ale pomogło mi zrobić to, co chciałem =)
Dani

5
W tym przypadku x i y mają taką samą długość. jak narysować n etykiet, gdy długość drugiej osi to m?
Colbert Sesanker,

2
tylko w celach informacyjnych: xaxt="n"opcja w plotpoleceniu blokuje etykietowanie osi X. Jeśli ta opcja nie jest uwzględniona, axisbędzie NOOP.
Steen

To działa, ale jak to obrócić, aby było pionowe? las = 2 nie działa.
biegające ptaki

Wypróbowałem rozwiązanie. xaxt = "n"opcja działała dla szeregów czasowych klasy ts. Ale w przypadku wielu szeregów czasowych (klasa mts) to nie zadziałało.
Erdogan CEVHER

15

Możesz także ustawić labels = FALSEwewnątrz axis(...)i wydrukować etykiety w osobnym poleceniu z tekstem. Dzięki tej opcji możesz obracać tekst w razie potrzeby

lablist<-as.vector(c(1:10))
axis(1, at=seq(1, 10, by=1), labels = FALSE)
text(seq(1, 10, by=1), par("usr")[3] - 0.2, labels = lablist, srt = 45, pos = 1, xpd = TRUE)

Szczegółowe wyjaśnienie tutaj

Obraz z obróconymi etykietami


Link do detailed explanationnie żyje
javadba
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.