library(esquisse)
## Warning: package 'esquisse' was built under R version 4.0.5
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.0.5
## 
## 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)
## Warning: package 'ggplot2' was built under R version 4.0.5
library(scales)
## Warning: package 'scales' was built under R version 4.0.5
library(readxl)
## Warning: package 'readxl' was built under R version 4.0.5
bike_orderlines <- read_excel("C:/Users/CTY REDSTAR/Downloads/bike_orderlines.xlsx")

bike_orderlines$year <- format(as.Date(bike_orderlines$order_date, format="%Y/%m/%d"),"%Y")

bikes_revenue <- bike_orderlines %>% 
  select(total_price,category_2, year) %>%
  group_by(year,category_2)%>%
  summarise(total_price) %>%
  group_by(year, category_2) %>%summarise_at(vars(total_price),funs(sum(.,na.rm=TRUE)))
## `summarise()` has grouped output by 'year', 'category_2'. You can override using the `.groups` argument.
## Warning: `funs()` was deprecated in dplyr 0.8.0.
## Please use a list of either functions or lambdas: 
## 
##   # Simple named list: 
##   list(mean = mean, median = median)
## 
##   # Auto named with `tibble::lst()`: 
##   tibble::lst(mean, median)
## 
##   # Using lambdas
##   list(~ mean(., trim = .2), ~ median(., na.rm = TRUE))
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.
ggplot(bikes_revenue) +
  aes(x = year, fill = category_2, y = total_price) +
  scale_fill_brewer(palette = "Paired")+
  theme_bw() +
  theme(legend.position = "bottom") +
  labs(
    y = "Revenue",
    title = "Revenue by year",
    subtitle = "Upward trend"
  ) +
  facet_wrap(vars(category_2), scales = "free_y")+
  geom_col() +
  geom_smooth(aes(group=1),method="lm", se =FALSE)+
  scale_y_continuous(labels=scales::dollar_format())
## `geom_smooth()` using formula 'y ~ x'

bikes_revenue$numyear <- as.numeric(as.character(bikes_revenue$year))
ggplot(bikes_revenue) +
  aes(x = numyear, y = total_price, fill = category_2) +
  geom_area(color = "black") +
  scale_fill_brewer(palette = "Blues", direction = 1) +
  labs(
    y = "Revenue",
    x = "Year",
    title = "Sale Over Year by Category 2",
    subtitle = "Sale Trending Up",
    fill = "2nd category"
  ) +
  theme_bw() +
  theme(
    plot.title = element_text(face = "bold"),
    plot.subtitle = element_text(face = "bold"),
    axis.title.y = element_text(face = "bold")
  ) + scale_y_continuous(labels=scales::dollar_format())