Как создать горизонтальную легенду в base r (2 метода)


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

Способ 1: используйте горизонтальный аргумент

 legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        horiz= TRUE , inset=c(0, -.1), xpd= TRUE )

В этом конкретном примере под графиком создается горизонтальная легенда, в которой каждый элемент легенды находится на одной линии.

Способ 2. Используйте аргумент ncol.

 legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        ncol=3, inset=c(0, -.15), xpd= TRUE )

В этом конкретном примере под графиком создается горизонтальная легенда с тремя столбцами.

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

Аргумент xpd=TRUE позволяет нам разместить легенду за пределами графика, оставаясь при этом видимой в области графика.

Следующие примеры показывают, как использовать каждый метод на практике.

Пример 1: используйте аргумент horiz для создания горизонтальной легенды в базе R.

Следующий код показывает, как использовать аргумент horiz=TRUE в функции Legend() для создания горизонтальной легенды внизу базового графика R:

 #create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        horiz= TRUE , inset=c(0, -.1), xpd= TRUE ) 

горизонтальный график в базе R

Обратите внимание, что горизонтальная легенда была создана и размещена внизу графика.

Не стесняйтесь экспериментировать со значениями аргумента inset , чтобы также настроить расположение легенды.

Например, мы можем сделать значение y вставленного аргумента еще более отрицательным, чтобы опустить легенду еще ниже:

 #create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        horiz= TRUE , inset=c(0, -.2), xpd= TRUE ) 

Обратите внимание, что горизонтальная легенда сдвинута еще ниже графика.

Пример 2: используйте аргумент ncol для создания горизонтальной легенды в базе R.

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

 #create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        ncol=3, inset=c(0, -.15), xpd= TRUE ) 

Обратите внимание, что была создана горизонтальная легенда из трех столбцов, которая размещена внизу графика.

Не стесняйтесь изменять значение аргумента ncol , чтобы создать легенду с другим количеством столбцов.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как изменить размер легенды на графике Base R
Как нарисовать легенду вне графика в R
Как изменить положение легенды на базовых графиках R

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

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