Подтвердить что ты не робот

Сюжетные легенды без границ и с белым фоном

У меня есть легенда в сюжете с линией (из выражения abline), проходящей через нее. Как я могу достичь того, что аблина становится невидимой в непосредственной близости от легенды? Это должно быть достигнуто путем установки фона легенды белым, без границ, но как я могу это достичь? Предположим, что график должен выглядеть так:

windows.options(width=30, height=12)
plot(1:10)
abline(v=seq(1,10,1), col='grey', lty='dotted')
legend(4.8, 3, "This legend text should not be disturbed by the dotted grey lines")

И чтобы сделать это немного сложнее: Если легенда вмешивается в точки пунктирной плоскости: как я могу достичь того, что ablines становится невидимым в непосредственной близости от легенды (как указано выше), но что точки все еще видны?

windows.options(width=30, height=12)
plot(1:10)
abline(v=seq(1,10,1), col='grey', lty='dotted')
legend(1, 5, "This legend text should not be disturbed by the dotted grey lines, but the plotted dots should still be visible")

И, наконец: есть ли способ ввести разрывы строк в инструкциях легенды?

4b9b3361

Ответ 1

Используйте опцию bty = "n" в legend, чтобы удалить поле вокруг легенды. Например:

legend(1, 5,
       "This legend text should not be disturbed by the dotted grey lines,\nbut the plotted dots should still be visible",
       bty = "n")

Ответ 2

Как указано в ?legend, вы делаете это так:

plot(1:10,type = "n")
abline(v=seq(1,10,1), col='grey', lty='dotted')
legend(1, 5, "This legend text should not be disturbed by the dotted grey lines,\nbut the plotted dots should still be visible",box.lwd = 0,box.col = "white",bg = "white")
points(1:10,1:10)

enter image description here

Разрывы строк достигаются с помощью нового символа линии \n. Делать видимые точки делами просто путем изменения порядка построения. Помните, что построение графика в R похоже на рисование на листе бумаги: каждая вещь, которую вы замышляете, будет помещена поверх всего, что там есть.

Обратите внимание, что текст легенды обрезается, потому что я уменьшил размеры сюжета (на всех платформах R не существует windows.options).