Я создаю гистограмму для отображения количества ответов на опрос в каждом округе, и я хочу сгруппировать ответы по округам и регионам. Мои данные выглядят так:
head(df)
# A tibble: 6 x 4
responseid region county industry
<dbl> <fct> <fct> <chr>
1 137 West Coast Los Angeles Construction
2 138 West Coast San Diego Energy
3 139 West Coast Orange Professional Services
4 140 East Coast Queens Restaurants
5 144 West Coast San Diego Energy
6 145 East Coast Miami-Dade Public Sector
Я использую этот код:
ggplot(df, mapping = aes(x = fct_rev(fct_infreq(county)), y = stat(count))) +
geom_bar(aes(fill = region)) +
coord_flip()+
scale_y_continuous() +
ggtitle("Responses by County") +
ylab("Number of Responses")+
xlab("County") +
labs(fill = "Region") +
geom_text(stat='count', aes(label=..count..), vjust = .5, hjust = -1)
, который генерирует этот график:
Участок упорядочен по частоте ответов по округам. Я бы хотел, чтобы он был упорядочен сначала по регионам, а затем по количеству ответов. Я хочу эту же диаграмму, но со всеми округами Западного побережья по порядку от большинства к наименьшим ответам, а затем округами Восточного побережья по порядку от большинства к наименьшим ответам. , поскольку он тянет ответы Западного побережья в отдельную сетку, и вы не можете сравнивать все графства по одной и той же оси y; огранка без переворачивания оси приводит к тому, что названия округов перекрываются и становятся неразборчивыми.
Я также попытался добавить аргумент взаимодействия, подобный этому, но это совсем не изменило сюжет:
ggplot(df, mapping = aes(x = fct_rev(fct_infreq(county)), y = stat(count), group = interaction(region, county))) +
geom_bar(aes(fill = region)) +
coord_flip()+
scale_y_continuous() +
ggtitle("Responses by County") +
ylab("Number of Responses")+
xlab("County") +
labs(fill = "Region") +
geom_text(stat='count', aes(label=..count..), vjust = .5, hjust = -1)
Редактировать: Вот как это выглядит с переносом фасет. Я не фанат, потому что сложнее визуально сравнивать бары, когда они не начинаются с одной и той же оси Y:
Если вы удалитеordin_flip, все бары начинаются с того же места, но тогда вы вообще не можете прочитать названия округов.