Как настроить пространство между столбцами в ggplot2 (с примерами)
Вы можете использовать следующие методы для настройки пространства между столбцами на гистограммах ggplot2:
Способ 1. Отрегулируйте расстояние между столбцами на гистограмме.
ggplot(df, aes(x=x_variable)) +
geom_bar(width= .4 )
Ширина по умолчанию между столбцами равна 0,9 .
Чем ближе ширина к 1 , тем ближе будут полосы. Чем ближе ширина к 0 , тем больше будут разбросаны столбцы.
Способ 2. Отрегулируйте расстояние между столбцами на сгруппированной гистограмме.
ggplot(df, aes(x=x_variable, y=y_variable, fill=fill_variable)) + geom_bar(width= .5 , stat=' identity ', position=position_dodge( .7 ))
Значение ширины управляет расстоянием между кластерами, а значение Position_dodge() управляет расстоянием между столбцами внутри одного кластера.
В следующих примерах показано, как использовать каждый метод на практике со следующим фреймом данных в R:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C'), position=c('G', 'G', 'F', 'G', 'F', 'F', 'F', 'G'), points=c(12, 22, 24, 23, 20, 15, 11, 30)) #view data frame df team position points 1 AG 12 2 AG 22 3 AF 24 4 BG 23 5 BF 20 6 BF 15 7 CF 11 8 CG 30
Пример 1. Отрегулируйте расстояние между столбцами на гистограмме.
Следующий код показывает, как создать гистограмму для визуализации появления каждой команды, используя интервал ширины по умолчанию, равный 0,9 :
library (ggplot2) #create bar plot with default spacing ggplot(df, aes(x=team)) + geom_bar()
Следующий код показывает, как увеличить расстояние между столбцами, уменьшив значение аргумента ширины до 0,4 :
library (ggplot2) #create bar plot with increased spacing ggplot(df, aes(x=team)) + geom_bar(width= .4 )
Уменьшив значение аргумента ширины , мы увеличили расстояние между полосами.
Пример 2. Настройка интервала между столбцами на сгруппированной гистограмме.
Следующий код показывает, как создать сгруппированную гистограмму для визуализации общего количества очков, набранных командой и позицией:
library (ggplot2) #create clustered bar plot with default spacing ggplot(df, aes(x=team, y=points, fill=position)) + geom_bar(stat=' identity ', position=' dodge ')
А следующий код показывает, как увеличить пространство между кластеризованными столбцами и пространство между столбцами внутри одного кластера:
library (ggplot2) #create clustered bar plot with increased spacing ggplot(df, aes(x=team, y=points, fill=position)) + geom_bar(width= .5 , stat=' identity ', position=position_dodge( .7 ))
Уменьшив значение ширины , мы увеличили расстояние между кластерами.
А, уменьшив значение Position_dodge() , мы увеличили расстояние между барами внутри одних и тех же кластеров.
Не стесняйтесь экспериментировать со значениями этих двух аргументов, чтобы гистограмма выглядела именно так, как вы хотите.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в ggplot2:
Как сортировать столбцы на гистограмме ggplot2
Как изменить порядок столбцов в составной гистограмме в ggplot2
Как изменить цвета столбцов в столбчатой диаграмме с накоплением в ggplot2