2015-12-22 14 views
6

Tôi đang sử dụng ggplot2 trong R và có thang đo thủ công cho màu (biến1) và loại đường (biến2). Một trong các cấp là giống nhau cho cả hai loại và tôi chỉ muốn nó xuất hiện trong một dòng đơn giản và do đó biến mất khỏi chú giải biến 2.Xóa các bản sao trong hai chú giải ggplot

Xem mã tối thiểu bên dưới.

enter image description here

require(ggplot2) 

data_0 <- expand.grid(x=1:2, 
    variable1=c("nothing", "A", "B"), 
    variable2=c("nothing", "positif", "negatif") 
) 
data <- subset(data_0, !((variable1=="nothing" & variable2 != "nothing") | 
    (variable2=="nothing" & variable1 != "nothing"))) 
data$y <- rep(1:5, each = 2) 

ggplot(data=data, aes(x=x, y=y, colour = variable1, lty = variable2))+ 
    geom_line(size=1.5)+ 
    theme_bw()+ 
    theme(legend.position="bottom")+ 
    scale_linetype_manual(values = c(1,3,5)) 

Trả lời

11

Bạn đã tiến rất gần. Bạn cần phải xác định breaks-scale_linetype_manual:

library(ggplot2) 

ggplot(data=data, aes(x=x, y=y, colour = variable1, lty = variable2))+ 
    geom_line(size=1.5)+ 
    theme_bw()+ 
    theme(legend.position="bottom") + 
    scale_linetype_manual(breaks = c("positif", "negatif"), values = c(1, 3, 5)) 

enter image description here

+2

tôi đã cố gắng phá vỡ và đã sử dụng nó sai ... Tôi đã sử dụng phá vỡ = c (3,5)! Cảm ơn nhiều! – PerrySun

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