2015-08-10 2 views
1

Попытка построить легенду с помощью pch, я понимаю, что они должны быть заполнены, но, похоже, не так. Это проблема с графикой Windows?Легенда в R pch не заполнена

legend(36, 79, 
    legend = c(expression("a"["a"]), expression("b"["b"]), expression("c"["c"])), 
    pch = c(21, 8, 24), col = c(grey(0.1), grey(0.3), grey(0.5)), 
    cex = 1.3, bty = "n" 
) 

enter image description here обычно не быть выдано, но это для бумаги, который будет представлена ​​и легенда и график в сюжете должны соответствовать спасибо!

+2

Просьба представить минимальный воспроизводимый пример (как для документа, который будет представлен). –

+0

21 и 24 требует аргументов заполнения и цвета. – zx8754

+0

Используйте 'pt.ch =" red "' или любой цвет, который вы предпочитаете. Вы также можете отбросить кавычки в выражениях и указать 'col = gray (c (.1, .3, .5))'. Указание 'x =" topleft "или аналогичного значения намного проще, чем' x = 36, y = 79'. – Backlin

ответ

3

Нам потребуется pt.bg аргумент для заполнения:

Смотрите ниже пример:

#dummy data 
set.seed(123) 
df <- data.frame(x=runif(10),y=runif(10), 
       colour=rep(c("blue","green"),5), 
       background=rep(c("grey30", "grey70"),5), 
       shape=rep(c(21,24),5),stringsAsFactors = FALSE) 

#plot 
plot(df$x,df$y,col=df$colour,bg=df$background,pch=df$shape,cex=2) 
points(x=0.5,y=0.5,pch=8,col="red",cex=2) 

#add legend, pt.bg is need to fill in the background of the shape 
legend(0.01,0.5, 
     legend = c(expression("LBM"["MR-AC"]), 
        expression("LBM"["Formula"]), 
        expression("LBM"["MR-AC corrected"])), 
     pch = c(21,24,8), 
     col = c("blue","green","red"), 
     pt.bg = c("grey30","grey70"), 
     cex=2) 

enter image description here