Czy istnieje łatwy sposób na zwiększenie odstępu między tytułem wykresu a obszarem wykresu pod nim (ramką z danymi)? Podobnie wolałbym mieć trochę odstępu między tytułem osi a etykietami osi.
Innymi słowy, czy istnieje sposób na „przesunięcie tytułu nieco w górę, tytuł osi y nieco w lewo, a tytuł osi x nieco w dół”?
"\n"
znaków do tytułów, aby wymusić nowe wiersze.Odpowiedzi:
Możesz dostosować marginesy wydruku za pomocą
plot.margin
in,theme()
a następnie przenieść etykiety osi i tytuł za pomocąvjust
argumentuelement_text()
. Na przykład :library(ggplot2) library(grid) qplot(rnorm(100)) + ggtitle("Title") + theme(axis.title.x=element_text(vjust=-2)) + theme(axis.title.y=element_text(angle=90, vjust=-0.5)) + theme(plot.title=element_text(size=15, vjust=3)) + theme(plot.margin = unit(c(1,1,1,1), "cm"))
da ci coś takiego:
Jeśli chcesz uzyskać więcej informacji o różnych
theme()
parametrach i ich argumentach, możesz po prostu wpisać?theme
w wierszu polecenia R.źródło
grid::units
taplot.margin
argumentacja zadziałała . Okazuje się, że musisz podać długość od-4 dounits
. Szkoda, żex
argumentunits
nie został w żaden sposób przetworzony. Prawdopodobnie już to wiesz, ale warto zauważyć / zaktualizować, któreopts
jest obecnie przestarzałe w najnowszej wersji ggplot2 (0.9.2+), zastąpione przeztheme
, które jesttheme_text
teraz zastępowane przezelement_text
.t, r, b, l (To remember order, think trouble).
top
,right
,bottom
,left
.margin(t, r, l, b)