Как нарисовать легенду вне сюжета в R

Как нарисовать легенду вне сюжета в R

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

par( mar =c(5, 4, 4, 8), xpd= TRUE )

В следующем пошаговом примере показано, как использовать этот синтаксис на практике.

Шаг 1: Создайте данные

Во-первых, давайте создадим некоторые данные для работы:

#create data frames
df1 <- data.frame(x=c(1, 2, 3, 4, 5, 6, 7),
 y=c(2, 7, 19, 26, 24, 29, 31))

df2 <- data.frame(x=c(1, 2, 3, 4, 5, 6, 7),
 y=c(4, 4, 7, 9, 12, 13, 8))

Шаг 2: Создайте график с легендой вне графика

Далее создадим график и добавим легенду вне графика в правом верхнем углу:

#add extra space to the right of the plot
par( mar =c(5, 4, 4, 8), xpd= TRUE )

#plot both data frames
plot(y ~ x, df1, pch =1, main=" Scatterplot with multiple groups ")
points(y ~ x, df2, pch =3)

#add legend outside of plot
legend(" topright", inset =c(-0.2, 0), legend =c(" df1"," df2 "), pch =c(1,3), title =" Data ") 
Легенда вне сюжета в базе R

Шаг 3: Измените местоположение легенды

Аргумент inset(x, y) можно использовать для управления расположением легенды справа от графика. Например, мы можем сделать аргумент x более отрицательным, чтобы сдвинуть легенду еще дальше вправо:

#add extra space to the right of the plot
par( mar =c(5, 4, 4, 8), xpd= TRUE )

#plot both data frames
plot(y ~ x, df1, pch =1, main=" Scatterplot with multiple groups ")
points(y ~ x, df2, pch =3)

#add legend outside of plot
legend(" topright", inset =c(-0.3, 0), legend =c(" df1"," df2 "), pch =c(1,3), title =" Data ") 
Расположение легенды за пределами сюжета в R

Мы также можем сделать аргумент y более положительным, чтобы опустить легенду ниже:

#add extra space to the right of the plot
par( mar =c(5, 4, 4, 8), xpd= TRUE )

#plot both data frames
plot(y ~ x, df1, pch =1, main=" Scatterplot with multiple groups ")
points(y ~ x, df2, pch =3)

#add legend outside of plot
legend(" topright", inset =c(-0.3, .5), legend =c(" df1"," df2 "), pch =c(1,3), title =" Data ") 
Базовый график в R с легендой за пределами графика справа

Не стесняйтесь изменять значения аргумента inset(x, y) , чтобы изменить расположение легенды.

Вы можете найти больше руководств по R на этой странице .

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.