library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readxl)
bike_orderlines <- read_excel("bike_orderlines.xlsx")
top_bike_shops <- bike_orderlines %>%
  group_by(bikeshop_name) %>%
  summarise(Revenue = sum(total_price)) %>%
  arrange(desc(Revenue)) %>%
  top_n(10)
## Selecting by Revenue
total_revenue <- sum(top_bike_shops$Revenue)
other_revenue <- data.frame(bikeshop_name = "Other", Revenue = sum(bike_orderlines$total_price) - total_revenue)
top_bike_shops <- bind_rows(top_bike_shops, other_revenue)

ggplot(top_bike_shops, aes(x = "", y = Revenue, fill = bikeshop_name)) + 
  geom_bar(stat = "identity", width = 1) + 
  coord_polar("y", start = 0) +
  labs(title = "Top 10 bike shops by revenue", x = NULL, y = "Revenue") + 
  theme_minimal() + 
  theme(axis.text = element_blank(), axis.title = element_blank()) +
  scale_fill_brewer(palette = "Set3")