R - Используя ответ "Легенда вне сюжета в R", но у него все еще есть некоторые проблемы

Я пытаюсь реализовать один из ответов в этом question

Я использую третий ответ, тот, у кого есть функция new_legend. Вот мой вывод. введите описание изображения здесь

Я не могу поделиться данными. Подумайте об этом как о столбцах в data.frames: df1, df2, df12.

Код, создающий изображение, следующий:

    add_legend <- function(...) {
      opar <- par(fig=c(0, 1, 0, 1), oma=c(0, 0, 0, 0), 
                  mar=c(0, 0, 0, 0), new=TRUE)
      on.exit(par(opar))
      plot(0, 0, type='n', bty='n', xaxt='n', yaxt='n')
      legend(...)
    }

op <- par(cex = 1)
#bc
plot(df1[,2],df2[,1],xlab="save",ylab="log85",ylim=c(6, 10))
#bc2
points(df1[,2],df2[,3],xlab="save",ylab="log85",col=2)
#od
points(df1[,2],df1[,1],pch=3,col=3)
#od2
points(df12[,2],df12[,1],pch=3)
add_legend("top", legend=c("too big text", "description with","a lot of" ,"useless freespace"),
           col=c(1, 2,3,1),pch=c(1,1,3,3),horiz=TRUE, bty='n', x.intersp = 0.3)

Я хотел бы поставить легенду с меньшим количеством свободного пространства между описаниями и большим размером шрифта. Я попытался использовать x.intersp, но он просто уменьшает расстояние между символом и его описанием, а не расстояние между предыдущим описанием и следующим символом. Если я использую par(cex=1) перед выполнением графика, размер шрифта хорош, но больше текста обрезается.

Любая помощь будет оценена.