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(ggplot2)
bikeshops_data <- read.csv('bike_orderlines.csv')
bikeshops_revenue <- bikeshops_data %>%
  group_by(bikeshop_name) %>%
  summarise(Revenue = sum(total_price))
top_bikeshops <- bikeshops_revenue %>%
  arrange(desc(Revenue)) %>%
  head(10)
other_revenue <- sum(bikeshops_data$total_price) - sum(top_bikeshops$Revenue)
other_bikeshops <- data.frame(bikeshop_name = 'Other Bikeshops', Revenue = other_revenue)
other_revenue <- sum(bikeshops_data$total_price) - sum(top_bikeshops$Revenue)
other_bikeshops <- data.frame(bikeshop_name = 'Other Bikeshops', Revenue = other_revenue)
graph_data <- rbind(top_bikeshops, other_bikeshops)
ggplot(graph_data, aes(x = reorder(bikeshop_name, Revenue), y = Revenue, fill = bikeshop_name)) +
  geom_bar(stat = 'identity') +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(title = 'Top 10 Bikeshops by Revenue', x = 'Bikeshop', y = 'Revenue')