Как нарисовать легенду вне графика в r


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

 by( 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
by( 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
by( 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
by( 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 вы можете найти на этой странице .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *