2012-05-31 42 views
53

Có cách dễ dàng để tăng không gian giữa tiêu đề cốt truyện và khu vực ô bên dưới nó (hộp có dữ liệu) hay không. Tương tự, tôi muốn có một khoảng trống giữa tiêu đề trục và nhãn trục.ggplot2 lề khu vực ô?

Nói cách khác, có cách nào để "di chuyển tiêu đề một chút lên, tiêu đề trục y một chút trái, và tiêu đề trục x một chút xuống"?

+0

Bạn luôn có thể dán một số ký tự '" \ n "' vào tiêu đề để buộc các dòng mới. – joran

Trả lời

72

Bạn có thể điều chỉnh lề đồ thị bằng plot.margin trong theme() và sau đó di chuyển nhãn và tiêu đề trục của mình bằng đối số vjust của element_text(). Ví dụ:

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")) 

sẽ cung cấp cho bạn một cái gì đó như thế này:

enter image description here

Nếu bạn muốn biết thêm thông tin về theme() thông số khác nhau và lập luận của mình, bạn chỉ có thể nhập ?theme tại dấu nhắc R.

+4

Cảm ơn! Tôi đã không chắc chắn những gì để cung cấp cho 'grid :: units' để thực hiện công việc này cho đối số' plot.margin'. Hóa ra bạn phải cung cấp một số length-4 cho 'units'. Quá xấu đối số 'x' đối với' đơn vị' không được tái chế theo một cách nào đó. Ngoài ra, bạn có thể biết điều này, nhưng đáng chú ý/cập nhật rằng 'opts' hiện không được chấp nhận trong phiên bản mới nhất của ggplot2 (0.9.2+), được thay thế bằng' chủ đề', vì bây giờ 'theme_text' được thay thế bởi' element_text' . –

+8

Thứ tự các cạnh của plot.margin là đơn vị (c (trên cùng, bên phải, dưới cùng, bên trái), các đơn vị) nếu có ai khác muốn tiết kiệm thời gian tìm kiếm. – mightypile

+0

@mightypile Đó là đối diện với cơ sở R! Gah! Tại sao???!??! –

Các vấn đề liên quan