Легенда в Базе R: Можно ли не рисовать прямоугольники на некоторых линиях? Можно ли заполнить прямоугольники, покрывающие весь символ?

У меня есть график с перекрывающимися заштрихованными доверительными интервалами, который выглядит следующим образом:

portion of the graph

, и я очень хотел бы аннотировать легенду цветом доверительного интервала. Что-то вроде:

legend section

за исключением того, что мне бы хотелось двух вещей:

  1. , чтобы поля не отображались в первых двух записях.
  2. , чтобы прямоугольники растягивались через точку и крайнюю правую часть строки в последних трех записях.

(И я использую базовый R вместо ggplot2 по нескольким причинам, характерным для этого приложения, которые не Это действительно важно для объяснения.)

Вот пример кода, который воспроизводит легенду:

#Build a fake plot so that legend has somewhere to sit
xx <- seq(0,10,by=.1)
yy <- 2*xx + rnorm(length(xx),0,1)
plot(xx,yy)

#Build the legend
estNames <- c('est1','est2','est3')
legend('bottomright', 
        c("no box, no point","no box, no point",estNames) , 
        lty=c(rep('dotted',2),rep('solid',3)), 
        col=c('black','red',1,2,4),
        pch=c(-1,-1,rep(16,3)),
        lwd=1,
        fill=c( 0, 0,
            rep( c( rgb(0.5,0.5,0.1,0.25),
                rgb(0.5,0.1,0.1,0.25),
                rgb(0.1,0.1,0.5,0.25)), 2)),
        inset=0,bg='white') 

Любая помощь будет принята с благодарностью. Спасибо!

6
задан Nathan VanHoudnos 2 April 2011 в 02:06
поделиться