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())
