SETUP

Installed and loaded the necessary packages to reproduce the report.

library(readxl) # Useful for importing excel sheets
library(knitr) #Useful for creating nice tables
library(ggplot2) # Usefule for Data Visualisation

DATA DESCRIPTION

~ News Article
https://www.cbc.ca/news/canada/marijuana-faq-legalization-need-to-know-1.4862207
~ Data Source
https://www150.statcan.gc.ca/n1/en/catalogue/13-610-X
~ Plotly URL
https://plot.ly/~Ritwick_Dev/21/#/

READ/IMPORT DATA

setwd("E:\\Data Visualization")
Price <- read_excel("Age Group.xlsx" , sheet="Producer")
Frequency <- read_excel("Age Group.xlsx" , sheet="Frequency")
Sample <- read_excel("Sample.xlsx")

Code and Visualization

username <- "Ritwick_Dev"
api_key <- "iGL8jieoWcsVJkFCjnkm"
Sys.setenv("Plotly_username" = username)
Sys.setenv("plotly_api_key" = api_key)
updatemenus <- list(list(
    active = 0,
    x = -.125,
    type= 'dropdown',
    buttons = list(
      list(
        label = "All Age Groups",
        method = "update",
        args = list(list(visible = c(TRUE, "legendonly", "legendonly", 
                                     "legendonly", "legendonly","legendonly")))),
      list(
        label = "15 To 17 Years",
        method = "update",
        args = list(list(visible = c("legendonly", TRUE, "legendonly", 
                                     "legendonly", "legendonly","legendonly")))),
      list(
        label = "18 To 24 Years",
        method = "update",
        args = list(list(visible = c("legendonly", "legendonly", TRUE, 
                                     "legendonly", "legendonly","legendonly")))),
      list(
        label = "25 To 44 Years",
        method = "update",
        args = list(list(visible = c("legendonly", "legendonly", "legendonly", 
                                     TRUE, "legendonly","legendonly" )))),      
      list(
        label = "45 To 64 Years",
        method = "update",
        args = list(list(visible = c("legendonly", "legendonly", "legendonly", 
                                     "legendonly", TRUE,"legendonly")))),
      
      list(
        label = "Frequency of consuption",
        method = "update",
        args = list(list(visible = c("legendonly", "legendonly", "legendonly", 
                                     "legendonly","legendonly",TRUE))))
  )
)
)
p <- plot_ly(data = Frequency)%>%
add_lines(x=Frequency$Year, y=Frequency$`Total, 15 years and over`, name="All Age Groups",visible = "legendonly")%>%
  add_lines(x=Frequency$Year, y=Frequency$`15 to 17 years`,name="15 To 17 Years",visible = "legendonly")%>%
  add_lines(x=Frequency$Year, y=Frequency$`18 to 24 years`,name="18 To 24 Years",visible = "legendonly") %>%
  add_lines(x=Frequency$Year, y=Frequency$`25 to 44 years`,name="25 To 44 Years",visible = "legendonly") %>%
  add_lines(x=Frequency$Year, y=Frequency$`45 to 64 years`,name="45 To 64 Years",visible = "legendonly") %>%
  add_trace(y=Sample$`2013`, x=Sample$`Frequency of use` ,type = "bar",name="Frequency of consuption")%>%
  layout(title = "Cannabis Consumption in Canada", showlegend=TRUE,
         xaxis=list(zeroline = FALSE),
         yaxis=list(zeroline = FALSE),updatemenus=updatemenus)
p

api_create(p,filename = "Cannabis Consumption in Canada", sharing ="public",fileopt='overwrite')
Found a grid already named: 'Cannabis Consumption in Canada Grid'. Since fileopt='overwrite', I'll try to update it
Found a plot already named: 'Cannabis Consumption in Canada'. Since fileopt='overwrite', I'll try to update it
LS0tDQp0aXRsZTogIk1BVEgyMjcwIFNlbWVzdGVyIDIsIDIwMTgiDQpzdWJ0aXRsZTogIkFzc2lnbm1lbnQgMyINCmF1dGhvcjogIlJpdHdpY2sgRGV2IChTMzcwMjA0MSkiDQpkYXRlOiAiMjkgT2N0b2JlciAyMDE4Ig0Kb3V0cHV0OiANCiAgaHRtbF9ub3RlYm9vayA6IGRlZmF1bHQNCi0tLQ0KDQojI1NFVFVQDQoNCkluc3RhbGxlZCBhbmQgbG9hZGVkIHRoZSBuZWNlc3NhcnkgcGFja2FnZXMgdG8gcmVwcm9kdWNlIHRoZSByZXBvcnQuDQoNCmBgYHtyLCBlY2hvID0gVFJVRSwgd2FybmluZ3MgPSBGQUxTRX0NCmxpYnJhcnkocmVhZHhsKSAjIFVzZWZ1bCBmb3IgaW1wb3J0aW5nIGV4Y2VsIHNoZWV0cw0KbGlicmFyeShrbml0cikgI1VzZWZ1bCBmb3IgY3JlYXRpbmcgbmljZSB0YWJsZXMNCmxpYnJhcnkoZ2dwbG90MikgIyBVc2VmdWxlIGZvciBEYXRhIFZpc3VhbGlzYXRpb24NCmBgYA0KDQojI0RBVEEgREVTQ1JJUFRJT04NCg0KfiBOZXdzIEFydGljbGUgDQp+IGh0dHBzOi8vd3d3LmNiYy5jYS9uZXdzL2NhbmFkYS9tYXJpanVhbmEtZmFxLWxlZ2FsaXphdGlvbi1uZWVkLXRvLWtub3ctMS40ODYyMjA3DQoNCg0KfiBEYXRhIFNvdXJjZQ0KfiBodHRwczovL3d3dzE1MC5zdGF0Y2FuLmdjLmNhL24xL2VuL2NhdGFsb2d1ZS8xMy02MTAtWCANCg0KDQp+IFBsb3RseSBVUkwNCn4gaHR0cHM6Ly9wbG90Lmx5L35SaXR3aWNrX0Rldi8yMS8jLw0KDQojI1JFQUQvSU1QT1JUIERBVEENCg0KYGBge3J9DQpzZXR3ZCgiRTpcXERhdGEgVmlzdWFsaXphdGlvbiIpDQpQcmljZSA8LSByZWFkX2V4Y2VsKCJBZ2UgR3JvdXAueGxzeCIgLCBzaGVldD0iUHJvZHVjZXIiKQ0KRnJlcXVlbmN5IDwtIHJlYWRfZXhjZWwoIkFnZSBHcm91cC54bHN4IiAsIHNoZWV0PSJGcmVxdWVuY3kiKQ0KU2FtcGxlIDwtIHJlYWRfZXhjZWwoIlNhbXBsZS54bHN4IikNCg0KYGBgDQoNCg0KIyMgQ29kZSBhbmQgVmlzdWFsaXphdGlvbg0KDQpgYGB7cn0NCnVzZXJuYW1lIDwtICJSaXR3aWNrX0RldiINCmFwaV9rZXkgPC0gImlHTDhqaWVvV2NzVkprRkNqbmttIg0KU3lzLnNldGVudigiUGxvdGx5X3VzZXJuYW1lIiA9IHVzZXJuYW1lKQ0KU3lzLnNldGVudigicGxvdGx5X2FwaV9rZXkiID0gYXBpX2tleSkNCg0KdXBkYXRlbWVudXMgPC0gbGlzdChsaXN0KA0KICAgIGFjdGl2ZSA9IDAsDQogICAgeCA9IC0uMTI1LA0KICAgIHR5cGU9ICdkcm9wZG93bicsDQogICAgYnV0dG9ucyA9IGxpc3QoDQogICAgICBsaXN0KA0KICAgICAgICBsYWJlbCA9ICJBbGwgQWdlIEdyb3VwcyIsDQogICAgICAgIG1ldGhvZCA9ICJ1cGRhdGUiLA0KICAgICAgICBhcmdzID0gbGlzdChsaXN0KHZpc2libGUgPSBjKFRSVUUsICJsZWdlbmRvbmx5IiwgImxlZ2VuZG9ubHkiLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGVnZW5kb25seSIsICJsZWdlbmRvbmx5IiwibGVnZW5kb25seSIpKSkpLA0KICAgICAgbGlzdCgNCiAgICAgICAgbGFiZWwgPSAiMTUgVG8gMTcgWWVhcnMiLA0KICAgICAgICBtZXRob2QgPSAidXBkYXRlIiwNCiAgICAgICAgYXJncyA9IGxpc3QobGlzdCh2aXNpYmxlID0gYygibGVnZW5kb25seSIsIFRSVUUsICJsZWdlbmRvbmx5IiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxlZ2VuZG9ubHkiLCAibGVnZW5kb25seSIsImxlZ2VuZG9ubHkiKSkpKSwNCiAgICAgIGxpc3QoDQogICAgICAgIGxhYmVsID0gIjE4IFRvIDI0IFllYXJzIiwNCiAgICAgICAgbWV0aG9kID0gInVwZGF0ZSIsDQogICAgICAgIGFyZ3MgPSBsaXN0KGxpc3QodmlzaWJsZSA9IGMoImxlZ2VuZG9ubHkiLCAibGVnZW5kb25seSIsIFRSVUUsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsZWdlbmRvbmx5IiwgImxlZ2VuZG9ubHkiLCJsZWdlbmRvbmx5IikpKSksDQogICAgICBsaXN0KA0KICAgICAgICBsYWJlbCA9ICIyNSBUbyA0NCBZZWFycyIsDQogICAgICAgIG1ldGhvZCA9ICJ1cGRhdGUiLA0KICAgICAgICBhcmdzID0gbGlzdChsaXN0KHZpc2libGUgPSBjKCJsZWdlbmRvbmx5IiwgImxlZ2VuZG9ubHkiLCAibGVnZW5kb25seSIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsICJsZWdlbmRvbmx5IiwibGVnZW5kb25seSIgKSkpKSwgICAgICANCiAgICAgIGxpc3QoDQogICAgICAgIGxhYmVsID0gIjQ1IFRvIDY0IFllYXJzIiwNCiAgICAgICAgbWV0aG9kID0gInVwZGF0ZSIsDQogICAgICAgIGFyZ3MgPSBsaXN0KGxpc3QodmlzaWJsZSA9IGMoImxlZ2VuZG9ubHkiLCAibGVnZW5kb25seSIsICJsZWdlbmRvbmx5IiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxlZ2VuZG9ubHkiLCBUUlVFLCJsZWdlbmRvbmx5IikpKSksDQogICAgICANCiAgICAgIGxpc3QoDQogICAgICAgIGxhYmVsID0gIkZyZXF1ZW5jeSBvZiBjb25zdXB0aW9uIiwNCiAgICAgICAgbWV0aG9kID0gInVwZGF0ZSIsDQogICAgICAgIGFyZ3MgPSBsaXN0KGxpc3QodmlzaWJsZSA9IGMoImxlZ2VuZG9ubHkiLCAibGVnZW5kb25seSIsICJsZWdlbmRvbmx5IiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxlZ2VuZG9ubHkiLCJsZWdlbmRvbmx5IixUUlVFKSkpKQ0KICApDQopDQopDQoNCmBgYA0KDQoNCmBgYHtyfQ0KcCA8LSBwbG90X2x5KGRhdGEgPSBGcmVxdWVuY3kpJT4lDQphZGRfbGluZXMoeD1GcmVxdWVuY3kkWWVhciwgeT1GcmVxdWVuY3kkYFRvdGFsLCAxNSB5ZWFycyBhbmQgb3ZlcmAsIG5hbWU9IkFsbCBBZ2UgR3JvdXBzIix2aXNpYmxlID0gImxlZ2VuZG9ubHkiKSU+JQ0KICBhZGRfbGluZXMoeD1GcmVxdWVuY3kkWWVhciwgeT1GcmVxdWVuY3kkYDE1IHRvIDE3IHllYXJzYCxuYW1lPSIxNSBUbyAxNyBZZWFycyIsdmlzaWJsZSA9ICJsZWdlbmRvbmx5IiklPiUNCiAgYWRkX2xpbmVzKHg9RnJlcXVlbmN5JFllYXIsIHk9RnJlcXVlbmN5JGAxOCB0byAyNCB5ZWFyc2AsbmFtZT0iMTggVG8gMjQgWWVhcnMiLHZpc2libGUgPSAibGVnZW5kb25seSIpICU+JQ0KICBhZGRfbGluZXMoeD1GcmVxdWVuY3kkWWVhciwgeT1GcmVxdWVuY3kkYDI1IHRvIDQ0IHllYXJzYCxuYW1lPSIyNSBUbyA0NCBZZWFycyIsdmlzaWJsZSA9ICJsZWdlbmRvbmx5IikgJT4lDQogIGFkZF9saW5lcyh4PUZyZXF1ZW5jeSRZZWFyLCB5PUZyZXF1ZW5jeSRgNDUgdG8gNjQgeWVhcnNgLG5hbWU9IjQ1IFRvIDY0IFllYXJzIix2aXNpYmxlID0gImxlZ2VuZG9ubHkiKSAlPiUNCiAgYWRkX3RyYWNlKHk9U2FtcGxlJGAyMDEzYCwgeD1TYW1wbGUkYEZyZXF1ZW5jeSBvZiB1c2VgICx0eXBlID0gImJhciIsbmFtZT0iRnJlcXVlbmN5IG9mIGNvbnN1cHRpb24iKSU+JQ0KICBsYXlvdXQodGl0bGUgPSAiQ2FubmFiaXMgQ29uc3VtcHRpb24gaW4gQ2FuYWRhIiwgc2hvd2xlZ2VuZD1UUlVFLA0KICAgICAgICAgeGF4aXM9bGlzdCh6ZXJvbGluZSA9IEZBTFNFKSwNCiAgICAgICAgIHlheGlzPWxpc3QoemVyb2xpbmUgPSBGQUxTRSksdXBkYXRlbWVudXM9dXBkYXRlbWVudXMpDQpwDQoNCmFwaV9jcmVhdGUocCxmaWxlbmFtZSA9ICJDYW5uYWJpcyBDb25zdW1wdGlvbiBpbiBDYW5hZGEiLCBzaGFyaW5nID0icHVibGljIixmaWxlb3B0PSdvdmVyd3JpdGUnKQ0KYGBg