etykiety osi obrotowych w R


Odpowiedzi:


178

Nie jestem pewien, czy to masz na myśli, ale spróbuj ustawić las=1. Oto przykład:

require(grDevices)
tN <- table(Ni <- stats::rpois(100, lambda=5))
r <- barplot(tN, col=rainbow(20), las=1)

wynik

To reprezentuje styl etykiet osi. (0 = równoległe, 1 = wszystkie poziome, 2 = wszystkie prostopadłe do osi, 3 = wszystkie pionowe)


6
to działa, ale przycina etykiety. Dlatego mogą być wymagane dodatkowe opcje.
boczniak767

Czy istnieje łatwy sposób obracania etykiet znaczników osi? Np. Jeśli mam większe liczby jako etykiety znaczników osi, dobrze jest mieć je obrócone o około 45 stopni, aby uzyskać dobrą równowagę między czytelnością (w poziomie) a wydajnością przestrzenną (w pionie).
jmb

85

Użyj par(las=1).

Zobacz ?par:

las
numeric in {0,1,2,3}; the style of axis labels.
0: always parallel to the axis [default],
1: always horizontal,
2: always perpendicular to the axis,
3: always vertical.

Czy istnieje sposób, aby ustawić to tak, aby tylko etykiety osi x były prostopadłe do osi?
andrewj

18
Styl Te można ustawić osobno dla każdej osi, np.plot(1, xaxt="n", yaxt="n"); axis(1, las=2); axis(2, las=1)
rcs

4
zawsze archiwizuj par przed dokonaniem takich zmian: old.par <- par (no.readonly = T) :-)
HongboZhu

19

Jak wspomniał Maciej Jończyk , być może trzeba będzie też zwiększyć marże

par(las=2)
par(mar=c(8,8,1,1)) # adjust as needed
plot(...)

12

Musisz użyć funkcji theme () w następujący sposób, obracając etykiety osi X o 90 stopni:

ggplot(...)+...+ theme(axis.text.x = element_text(angle=90, hjust=1))

powinna wynosić 90 stopni
C8H10N4O2

1

Najpierw utwórz dane do wykresu

H <- c(1.964138757, 1.729143013,    1.713273714,    1.706771799,    1.67977205)
M <- c("SP105", "SP30", "SP244", "SP31",    "SP147")

Po drugie, podaj nazwę pliku wykresu

png(file = "Bargraph.jpeg", width = 500, height = 300)

Po trzecie, wykreśl wykres słupkowy

barplot(H,names.arg=M,ylab="Degree ", col= rainbow(5), las=2, border = 0, cex.lab=1, cex.axis=1, font=1,col.axis="black")
title(xlab="Service Providers", line=4, cex.lab=1)

Na koniec zapisz plik

dev.off()

Wynik:

wprowadź opis obrazu tutaj

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.