Làm cách nào để thay đổi tiêu đề của một huyền thoại trong ggplot2? [đóng cửa]


58

Tôi có một cốt truyện tôi đang thực hiện trong ggplot2 để tóm tắt dữ liệu từ bộ dữ liệu có kích thước 2 x 4 x 3. Tôi đã có thể tạo các bảng cho biến 2 cấp bằng cách sử dụng facet_grid(. ~ Age)và đặt trục x và y bằng cách sử dụng aes(x=4leveledVariable, y=DV). Tôi đã từng aes(group=3leveledvariable, lty=3leveledvariable)sản xuất cốt truyện cho đến nay. Điều này mang lại cho tôi một hình ảnh trực quan được điều khiển bởi biến 2 cấp, với trục X đại diện cho biến 4 cấp và các dòng khác nhau được vẽ trong các bảng cho biến 3 cấp. Nhưng khóa cho biến 3 cấp có tiêu đề với tên của biến 3 cấp và tôi muốn nó là một tiêu đề có không gian ký tự trong đó. Làm thế nào tôi có thể đổi tên tiêu đề của truyền thuyết?

Những thứ tôi đã thử dường như không hoạt động ( abpđối tượng ggplot2 của tôi ở đâu):

 abp <- abp + opts(legend.title="Town Name")
 abp <- abp + scale_fill_continuous("Town Name")
 abp <- abp + opts(group="Town Name")
 abp <- abp + opts(legend.title="Town Name")

Dữ liệu ví dụ:

ex.data <- data.frame(DV=rnorm(2*4*3), V2=rep(1:2,each=4*3), V4=rep(1:4,each=3), V3=1:3)

2
@drknexus - nếu bạn có thể chia sẻ dữ liệu của mình, điều đó sẽ hữu ích hoặc trỏ đến một tập dữ liệu tương tự trong R có hình dạng giống như dữ liệu của bạn.
Đuổi theo

1
Mọi người ở đây có vẻ rất am hiểu nhưng tôi biết đối với các câu hỏi liên quan đến ggplot tôi thấy nhóm google của họ rất hữu ích. groups.google.com/group/ggplot2
Dason

Bên cạnh tài liệu nổi tiếng và xuất sắc trên trang của Hadley, tài liệu tham khảo không được biết đến trên Git Hub thực sự giúp ích cho các loại vấn đề này.
hans0l0

Ngoài ra, theme_get()cung cấp cho bạn cùng một tham chiếu trong bảng điều khiển.
Brandon Bertelsen

1
Đáp lại một số cờ yêu cầu di chuyển SO, thực sự là không thể; xem tại sao trên SO.meta: meta.stackexchange.com/q/8004/150510 , meta.stackexchange.com/q/151890/150510 .
chl

Câu trả lời:


25

Một lựa chọn khác là sử dụng

p + labs(aesthetic='custom text')     

Ví dụ: ví dụ của Chase sẽ giống như:

library(ggplot2)

ex.data <- data.frame(DV=rnorm(2*4*3),V2=rep(1:2,each=4*3),V4=rep(1:4,each=3),V3=1:3)
p <- qplot(V4, DV, data=ex.data, geom="line", group=V3, linetype=factor(V3)) + facet_grid(. ~ V2)
p + labs(linetype='custom title')

và mang lại con số: nhập mô tả hình ảnh ở đây


Ngày nay, tôi có xu hướng thích sử dụng các phòng thí nghiệm () để sửa đổi các nhãn hơn là chỉ định chúng theo tỷ lệ / trục theo tỷ lệ / trục cơ sở.
russellpierce

38

Bạn có thể thay đổi tiêu đề của truyền thuyết bằng cách sửa đổi thang đo cho huyền thoại đó. Dưới đây là một ví dụ sử dụng bộ dữ liệu CO2

library(ggplot2)

p <- qplot(conc, uptake, data = CO2, colour = Type) + scale_colour_discrete(name = "Fancy Title")
p <- p + facet_grid(. ~ Treatment)
p 

BIÊN TẬP:

Sử dụng dữ liệu ví dụ từ trên, đây là một giải pháp làm việc. Tôi nghĩ điều này bắt chước cốt truyện mà @drknexus đang cố gắng tạo ra. Một lưu ý phụ, nếu bất cứ ai có thể giải thích lý do tại sao chúng ta phải coi V3 là yếu tố để nó được ánh xạ tới huyền thoại, tôi sẽ đánh giá cao nó.

p <- qplot(V4, DV, data = ex.data, geom = "line", group = V3, lty = factor(V3)) 
p <- p + scale_linetype_discrete(name = "Fancy Title") + facet_grid(. ~ V2)
p 

văn bản thay thế


Tôi nghĩ cái tôi thiếu là một hàm như scale_color_discret liên kết với đặc tả "nhóm" hoặc "lty" trong ggplot (data = ex.daata, aes (x = V4, y = DV, group = V3, lty = V3 ))
russellpierce

1
À tôi đã tìm thấy nó: scale_linetype_discittle (name = "bob")
russellpierce

@Chase: Chỉnh sửa với bit scale_linetype_disc rời và tôi sẽ chấp nhận câu trả lời của bạn.
russellpierce

1
@drknexus - vấn đề với đó là trong ví dụ làm việc của tôi, lệnh thích hợp là scale_colour_discrete()và mã bạn đang làm việc rõ ràng là hơi khác một chút. Tôi không biết mã đó là gì ...
Đuổi theo

3
@Chase Re: "tại sao chúng ta phải coi V3 là một yếu tố" scale_linetype_discretemong đợi một biến có các giá trị riêng biệt (yếu tố hoặc ký tự, từ plyr::is.discrete), hãy kiểm tra mã src trên Github, j.mp/ejaRRT . Phản hồi tốt đẹp (+1).
chl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.