#r #plot #legend #scatter-plot
#r #график #легенда #точечный график
Вопрос:
Я создаю график (в частности, точечный график), используя R, и заметил, что размер фона легенды излишне велик (как показано ниже):
Есть ли какой-либо способ уменьшить площадь?
Я попытался изменить cex
, но это уменьшило не только площадь, но и размер шрифта. Я хочу сохранить размер шрифта, но уменьшить область легенды.
На всякий случай я приложил код легенды, который я использовал:
legend(x="bottomleft", legend = c("Survived (0)", "Died (1)"),
col=c(1:length(levels(Noadr.for.plot2$Death))), pch = c(19, 17),
y.intersp = 0.4,
bg = "gray")
[ОБНОВЛЕНО]
Здесь пересмотренный сюжет. Я смог изменить ширину текста, но не высоту (как показано ниже):
Ответ №1:
Вы можете сделать следующее:
attach(mtcars)
plot(wt, mpg, main="Scatterplot Example",
xlab="Car Weight ", ylab="Miles Per Gallon ", pch=19)
# op <- par(cex = 1)
text = c("Survived (0)", "Died (1)")
cex_val = 1
legend(x="bottomleft", legend = text,
pch = c(19, 17), cex=cex_val,
y.intersp = 1,
bg = "gray",
text.width = strwidth(text)[1]*cex_val)
Часть ширины легенды определяется наибольшей шириной используемых вами надписей, которая вычисляется с помощью strwidth
so, установив для нее ширину текста, вы можете уменьшить поле, сохранив размер шрифта.
Комментарии:
1. @@David S Привет, Дэвид! Спасибо за комментарий. Я успешно работал! Тем не менее, я смог изменить ширину текста, а не высоту. Пожалуйста, посмотрите на рисунок выше (я загрузил обновленный рисунок). Я предположил, что будет функция, похожая на text.height, но, к сожалению, ее не существует…