Я пытаюсь реализовать один из ответов в этом 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)
перед выполнением графика, размер шрифта хорош, но больше текста обрезается.
Любая помощь будет оценена.