Data Science Desktop Survival Guide
by Graham Williams |
|||||
Flipped Sorted Axes |
20200820
ds %>%
filter(location %in% (ds$location %>% unique %>% sample(20))) %>% mutate(location=factor(location, levels=(location %>% unique() %>% sort() %>% rev()))) %>% ggplot(aes(location, temp_3pm, fill=location)) + stat_summary(fun="mean", geom="bar") + theme(legend.position="none") + labs(x=vnames["temp_3pm"], y=vnames["location"]) + coord_flip()
Labels will sometimes appear in the reverse order to that required, particularly in this flipped bar chart. We can explicitly reorder the levels to ensure the plot labels are in a more natural (alphabetic) order for the human reader. We use dplyr::mutate() within a pipeline to create a factor with the levels in the desired order passing that on to ggplot2::ggplot(). The embedded pipeline within the dplyr::mutate() places the base::unique() locations in base::rev()erse base::sort()ed alphabetic order. The functions ggplot2::scale_y_reverse() ggplot2::scale_x_reverse() may also be useful.
|