2013-12-15 17 views
21

Mục tiêu của tôi là tạo một số ô bằng ggplot và kết hợp chúng thành một ô bằng grid.arrange trong gói gridExtra.Giảm kích thước chú giải trong ggplot vượt quá kích thước mặc định

Tôi đang gặp vấn đề trong đó truyền thuyết trong ggplot của tôi (trong khi kích thước thích hợp cho một ô) quá lớn khi tôi cố gắng đặt các ô cạnh nhau với grid.arrange. Các ô kết hợp kết quả giảm trục x nhưng giữ kích thước ban đầu của chú giải. Vì vậy, kết quả là một cốt truyện rất gầy, bên cạnh một huyền thoại lớn không cần thiết. Vì vậy, tôi muốn giảm kích thước của truyền thuyết trong mỗi cốt truyện, đủ để tôi có thể đặt các ô của tôi cạnh nhau. Hoặc có thể thu nhỏ chúng đủ để đưa chúng vào trong cốt truyện thực tế mà không bị hách.

V1<-rnorm(10) 
V2<-rnorm(10) 
V3<-rnorm(10) 
DF<-data.frame(V1,V2,V3) 


ggplot(DF,aes(x=V1,y=V2,size=V3))+ 
geom_point(fill='red',shape=21)+ 
theme_bw()+ 
scale_size(range=c(5,20)) 

lệnh âm mưu này tạo ra một kích thước tiêu chuẩn truyền thuyết ở bên phải của cốt truyện.

enter image description here

Tôi đã cố gắng sử dụng các yếu tố chủ đề khác nhau:

+theme(legend.key.size = unit(0.5, "cm") 

hoặc

+theme(legend.key.width=unit(0.3,"cm"),legend.key.height=unit(0.3,"cm"),legend.position = c(0.7, 0.8)) 

Và trong khi tôi có thể làm cho huyền thoại lớn hơn sử dụng các lệnh này chủ đề, tôi không thể làm cho chú giải nhỏ hơn chú giải mặc định. Vì vậy, có cách nào để thu nhỏ huyền thoại vượt quá kích thước mặc định không?

Tôi cũng có thể thay đổi kích thước mặc định của thiết bị pdf để làm cho nó rộng hơn và phù hợp với truyền thuyết lớn, nhưng tôi muốn làm việc với kích thước pdf chuẩn ngay bây giờ.

Trả lời

19

Toàn bộ điểm của truyền thuyết là vẽ bản đồ thẩm mỹ trên cốt truyện (ví dụ: màu, tô màu, hình dạng hoặc kích thước) cho các mức được xác định trong chú giải. Các thông số legend.key.size, .width.height điều chỉnh kích thước của hộp bao quanh phần tử chú giải. Với màu sắc, tô màu và hình dạng bạn có thể tạo các mục chú thích nhỏ như bạn muốn, nhưng với kích thước, kích thước của phần tử cho bạn biết (các) bong bóng tương ứng với mục chú giải nào, vì vậy các mục chú giải phải có kích thước tương ứng với những gì có trong cốt truyện.

Dưới đây là ba khả năng có thể giúp bạn:

Tùy chọn 1: Đặt chú thích bên trong ô.

ggplot(DF,aes(x=V1,y=V2,size=V3))+ 
    geom_point(fill='red',shape=21)+ 
    theme_bw()+ 
    scale_size(range=c(5,20))+ 
    theme(legend.justification=c(1,0), legend.position=c(1,0)) 

Lựa chọn 2: Sử dụng facet_wrap(...) nếu bạn có thể. Bằng cách này bạn chỉ nhận được một huyền thoại cho tập hợp các ô.

Tùy chọn 3: Sử dụng màu sắc và kích cỡ, sau đó ẩn hoàn toàn chú thích kích thước.

ggplot(DF,aes(x=V1,y=V2,size=V3, color=V3))+ 
    geom_point(shape=19)+ 
    theme_bw()+ 
    scale_size(range=c(5,20), guide="none")+ 
    scale_color_gradient(high="#ff0000", low="#ffffcc") 

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