Câu hỏi điều chỉnh chiều rộng của chú giải cho biến liên tục trong ggplot2


Tôi có một kịch bản dưới đây để minh họa câu hỏi của tôi:

temp.df <- data.frame(x=1:100,y=1:100,z=1:100,stringsAsFactors=FALSE)
chart <- ggplot(data=temp.df,aes(x=x,y=y))
chart <- chart + geom_line(aes(colour=z))
chart <- chart + scale_colour_continuous(low="blue",high="red")
chart <- chart + theme(legend.position="bottom")
# so far so good, but I think the legend positioned at bottom with such a small size is a waste of space, so I want to "widen" it using the line below...
chart <- chart + guides(colour=guide_legend(keywidth=5,label.position="bottom"))
# oops, it changed to legend for categorical variable

Làm cách nào để mở rộng chú giải "biến liên tục" ở dưới cùng?


10
2018-02-01 16:00


gốc


Vì @Didzis đưa ra câu trả lời bạn đang tìm kiếm, tôi nghĩ tôi sẽ cung cấp liên kết đến các thuộc tính có thể bạn có thể đặt. Đây rồi - Arun


Các câu trả lời:


Thay vì chức năng guides() bạn nên sử dụng hàm theme() và đặt legend.key.width=

temp.df <- data.frame(x=1:100,y=1:100,z=1:100,stringsAsFactors=FALSE)
chart <- ggplot(data=temp.df,aes(x=x,y=y))
chart <- chart + geom_line(aes(colour=z))
chart <- chart + scale_colour_continuous(low="blue",high="red")
chart <- chart + theme(legend.position="bottom")
chart <- chart + theme(legend.key.width=unit(3,"cm"))

17
2018-02-01 16:06



(+1) đánh bại tôi trong 7 giây! - Arun


Bạn có thể dùng guide_colourbar thay vì guide_legend trong mã của bạn:

temp.df <- data.frame(x=1:100,y=1:100,z=1:100,stringsAsFactors=FALSE)
chart <- ggplot(data=temp.df,aes(x=x,y=y))
chart <- chart + geom_line(aes(colour=z))
chart <- chart + scale_colour_continuous(low="blue",high="red")
chart <- chart + theme(legend.position="bottom")
chart + guides(colour=guide_colourbar(barwidth=30,label.position="bottom"))

enter image description here


5
2018-02-01 16:07