2011-09-01 25 views
24

Tôi muốn đặt huyền thoại cốt truyện của mình bên trong cốt truyện, bên trong âm mưu đầu tiên của một khía cạnh.Chú thích vị trí trong ô đầu tiên của mặt cắt

Dưới đây là một số mã ví dụ:

df=data.frame(
x=runif(10), 
y=runif(10), 
facet=rep(c("a","b"),5), 
color=rep(c("red","blue"),5)) 

ggplot(data=df,aes(x=x,y=y,color=color))+ 
geom_point()+ 
facet_wrap(~facet,ncol=1) 

Dưới đây là cốt truyện kết quả:

plot with legend on outside

Và đây là khoảng cách tôi muốn nó nhìn:

plot with legend inside

Cảm ơn bất kỳ hel p bạn có thể cung cấp!

Trả lời

22

Giả sử cốt truyện của bạn được lưu dưới p

p + opts(
    legend.position = c(0.9, 0.6), # c(0,0) bottom left, c(1,1) top-right. 
    legend.background = theme_rect(fill = "white", colour = NA) 
) 

Nếu bạn muốn nền huyền thoại một phần trong suốt, thay đổi fill đến, ví dụ, "#ffffffaa".

+0

Cảm ơn Richie! Điều đó hoạt động trên cốt truyện ví dụ của tôi, nhưng vì một lý do nào đó khi tôi thêm những dòng mã đó vào một cốt truyện khác, huyền thoại biến mất. Bất kỳ ý tưởng tại sao có thể? Tôi đặt mã opts tôi có trong bài gốc – jslefche

+0

Là cốt truyện khác được lưu vào một loại tập tin mà không hỗ trợ minh bạch (có thể là một gif)? –

+0

Hoặc bạn đã thay đổi 'legend.position' sao cho nó được di chuyển khỏi cạnh của cốt truyện? –

8

Hoặc, xây dựng trên câu trả lời @Richie bông của, vì opts bị phản đối trong ggplot2 bây giờ (vẫn giả cốt truyện của bạn được định nghĩa là p)

p + theme(legend.position = c(0.9, 0.6) 
      ,legend.background = element_rect(fill = "white", colour = NA)) 
Các vấn đề liên quan