library(tidyverse)
Registered S3 methods overwritten by 'dbplyr':
  method         from
  print.tbl_lazy     
  print.tbl_sql      
-- Attaching packages --------------------------------------------------------------------------------------------------------- tidyverse 1.3.0 --
v ggplot2 3.3.3     v purrr   0.3.4
v tibble  3.0.4     v dplyr   1.0.2
v tidyr   1.1.2     v stringr 1.4.0
v readr   1.4.0     v forcats 0.5.0
package 㤼㸱ggplot2㤼㸲 was built under R version 4.0.3package 㤼㸱tibble㤼㸲 was built under R version 4.0.3package 㤼㸱tidyr㤼㸲 was built under R version 4.0.2package 㤼㸱readr㤼㸲 was built under R version 4.0.3package 㤼㸱dplyr㤼㸲 was built under R version 4.0.2-- Conflicts ------------------------------------------------------------------------------------------------------------ tidyverse_conflicts() --
x dplyr::filter() masks stats::filter()
x dplyr::lag()    masks stats::lag()
mpg

Creating a ggplot

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy))

Aesthetic Mappings

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy, color = class))

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy, size = class))

#> Warning: Using size for a discrete variable is not advised.
# Left
ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy, alpha = class))


# Right
ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy, shape = class))

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy), color = "orange")

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy)) + 
  facet_wrap(~ class, nrow = 2)

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy)) + 
  facet_grid(drv ~ cyl)

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy)) + 
  facet_grid(. ~ cyl)

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy))

ggplot(data = mpg) + 
  geom_smooth(mapping = aes(x = displ, y = hwy))

ggplot(data = mpg) + 
  geom_smooth(mapping = aes(x = displ, y = hwy, linetype = drv))

ggplot(data = mpg) + 
  geom_smooth(mapping = aes(x = displ, y = hwy, linetype = drv))+ geom_point(mapping = aes(x = displ, y = hwy, color=drv))

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy)) +
  geom_smooth(mapping = aes(x = displ, y = hwy))

ggplot(data = mpg) +
  geom_smooth(mapping = aes(x = displ, y = hwy))

              
ggplot(data = mpg) +
  geom_smooth(mapping = aes(x = displ, y = hwy, group = drv))

    
ggplot(data = mpg) +
  geom_smooth(
    mapping = aes(x = displ, y = hwy, color = drv),
    show.legend = FALSE
  )

ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) + 
  geom_point(mapping = aes(color = class)) + 
  geom_smooth()

ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) + 
  geom_point(mapping = aes(color = class)) + 
  geom_smooth(data = filter(mpg, class == "subcompact"), se = FALSE)

ggplot(data = mpg, mapping = aes(x = displ, y = hwy, color = drv)) + 
  geom_point() + 
  geom_smooth(se = FALSE)

as_tibble(mpg)
tibble(
  a = lubridate::now() + runif(1e3) * 86400,
  b = lubridate::today() + runif(1e3) * 30,
  c = 1:1e3,
  d = runif(1e3),
  e = sample(letters, 1e3, replace = TRUE)
)
library(timetk)
There were 20 warnings (use warnings() to see them)
library(lubridate)
package 㤼㸱lubridate㤼㸲 was built under R version 4.0.3
Attaching package: 㤼㸱lubridate㤼㸲

The following objects are masked from 㤼㸱package:base㤼㸲:

    date, intersect, setdiff, union
taylor_30_min
interactive <- FALSE
taylor_30_min %>% 
  plot_time_series(date,value,.interactive = interactive, .plotly_slider = TRUE)

m4_daily %>% group_by(id)
m4_daily %>%
  group_by(id) %>%
  plot_time_series(date, value, 
                   .facet_ncol = 2, .facet_scales = "free",
                   .interactive = interactive)

m4_hourly %>% group_by(id)
m4_hourly %>%
  group_by(id) %>%
  plot_time_series(date, log(value),             # Apply a Log Transformation
                   .color_var = week(date),      # Color applied to Week transformation
                   # Facet formatting
                   .facet_ncol = 2, 
                   .facet_scales = "free", 
                   .interactive = interactive)

taylor_30_min %>%
  plot_time_series(date, value, 
                   .color_var = month(date, label = TRUE),
                   
                   # Returns static ggplot
                   .interactive = FALSE,  
                   
                   # Customization
                   .title = "Taylor's MegaWatt Data",
                   .x_lab = "Date (30-min intervals)",
                   .y_lab = "Energy Demand (MW)",
                   .color_lab = "Month") +
  scale_y_continuous(labels = scales::comma_format())

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCmxpYnJhcnkodGlkeXZlcnNlKQ0KDQpgYGANCg0KYGBge3J9DQptcGcNCmBgYA0KDQojIyBDcmVhdGluZyBhIGdncGxvdA0KDQpgYGB7cn0NCmdncGxvdChkYXRhID0gbXBnKSArIA0KICBnZW9tX3BvaW50KG1hcHBpbmcgPSBhZXMoeCA9IGRpc3BsLCB5ID0gaHd5KSkNCmBgYA0KIyMgQWVzdGhldGljIE1hcHBpbmdzDQoNCmBgYHtyfQ0KZ2dwbG90KGRhdGEgPSBtcGcpICsgDQogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3ksIGNvbG9yID0gY2xhc3MpKQ0KYGBgDQoNCmBgYHtyfQ0KZ2dwbG90KGRhdGEgPSBtcGcpICsgDQogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3ksIHNpemUgPSBjbGFzcykpDQojPiBXYXJuaW5nOiBVc2luZyBzaXplIGZvciBhIGRpc2NyZXRlIHZhcmlhYmxlIGlzIG5vdCBhZHZpc2VkLg0KYGBgDQoNCg0KDQpgYGB7cn0NCiMgTGVmdA0KZ2dwbG90KGRhdGEgPSBtcGcpICsgDQogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3ksIGFscGhhID0gY2xhc3MpKQ0KDQojIFJpZ2h0DQpnZ3Bsb3QoZGF0YSA9IG1wZykgKyANCiAgZ2VvbV9wb2ludChtYXBwaW5nID0gYWVzKHggPSBkaXNwbCwgeSA9IGh3eSwgc2hhcGUgPSBjbGFzcykpDQpgYGANCg0KDQpgYGB7cn0NCmdncGxvdChkYXRhID0gbXBnKSArIA0KICBnZW9tX3BvaW50KG1hcHBpbmcgPSBhZXMoeCA9IGRpc3BsLCB5ID0gaHd5KSwgY29sb3IgPSAib3JhbmdlIikNCmBgYA0KYGBge3J9DQpnZ3Bsb3QoZGF0YSA9IG1wZykgKyANCiAgZ2VvbV9wb2ludChtYXBwaW5nID0gYWVzKHggPSBkaXNwbCwgeSA9IGh3eSkpICsgDQogIGZhY2V0X3dyYXAofiBjbGFzcywgbnJvdyA9IDIpDQpgYGANCg0KYGBge3J9DQpnZ3Bsb3QoZGF0YSA9IG1wZykgKyANCiAgZ2VvbV9wb2ludChtYXBwaW5nID0gYWVzKHggPSBkaXNwbCwgeSA9IGh3eSkpICsgDQogIGZhY2V0X2dyaWQoZHJ2IH4gY3lsKQ0KYGBgDQoNCg0KYGBge3J9DQpnZ3Bsb3QoZGF0YSA9IG1wZykgKyANCiAgZ2VvbV9wb2ludChtYXBwaW5nID0gYWVzKHggPSBkaXNwbCwgeSA9IGh3eSkpICsgDQogIGZhY2V0X2dyaWQoLiB+IGN5bCkNCmBgYA0KDQpgYGB7cn0NCmdncGxvdChkYXRhID0gbXBnKSArIA0KICBnZW9tX3BvaW50KG1hcHBpbmcgPSBhZXMoeCA9IGRpc3BsLCB5ID0gaHd5KSkNCmBgYA0KYGBge3J9DQpnZ3Bsb3QoZGF0YSA9IG1wZykgKyANCiAgZ2VvbV9zbW9vdGgobWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3kpKQ0KYGBgDQoNCg0KYGBge3J9DQpnZ3Bsb3QoZGF0YSA9IG1wZykgKyANCiAgZ2VvbV9zbW9vdGgobWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3ksIGxpbmV0eXBlID0gZHJ2KSkNCmBgYA0KDQoNCmBgYHtyfQ0KZ2dwbG90KGRhdGEgPSBtcGcpICsgDQogIGdlb21fc21vb3RoKG1hcHBpbmcgPSBhZXMoeCA9IGRpc3BsLCB5ID0gaHd5LCBsaW5ldHlwZSA9IGRydikpKyBnZW9tX3BvaW50KG1hcHBpbmcgPSBhZXMoeCA9IGRpc3BsLCB5ID0gaHd5LCBjb2xvcj1kcnYpKQ0KYGBgDQoNCmBgYHtyfQ0KZ2dwbG90KGRhdGEgPSBtcGcpICsgDQogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3kpKSArDQogIGdlb21fc21vb3RoKG1hcHBpbmcgPSBhZXMoeCA9IGRpc3BsLCB5ID0gaHd5KSkNCmBgYA0KDQpgYGB7cn0NCmdncGxvdChkYXRhID0gbXBnKSArDQogIGdlb21fc21vb3RoKG1hcHBpbmcgPSBhZXMoeCA9IGRpc3BsLCB5ID0gaHd5KSkNCiAgICAgICAgICAgICAgDQpnZ3Bsb3QoZGF0YSA9IG1wZykgKw0KICBnZW9tX3Ntb290aChtYXBwaW5nID0gYWVzKHggPSBkaXNwbCwgeSA9IGh3eSwgZ3JvdXAgPSBkcnYpKQ0KICAgIA0KZ2dwbG90KGRhdGEgPSBtcGcpICsNCiAgZ2VvbV9zbW9vdGgoDQogICAgbWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3ksIGNvbG9yID0gZHJ2KSwNCiAgICBzaG93LmxlZ2VuZCA9IEZBTFNFDQogICkNCmBgYA0KDQpgYGB7cn0NCmdncGxvdChkYXRhID0gbXBnLCBtYXBwaW5nID0gYWVzKHggPSBkaXNwbCwgeSA9IGh3eSkpICsgDQogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyhjb2xvciA9IGNsYXNzKSkgKyANCiAgZ2VvbV9zbW9vdGgoKQ0KYGBgDQpgYGB7cn0NCmdncGxvdChkYXRhID0gbXBnLCBtYXBwaW5nID0gYWVzKHggPSBkaXNwbCwgeSA9IGh3eSkpICsgDQogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyhjb2xvciA9IGNsYXNzKSkgKyANCiAgZ2VvbV9zbW9vdGgoZGF0YSA9IGZpbHRlcihtcGcsIGNsYXNzID09ICJzdWJjb21wYWN0IiksIHNlID0gRkFMU0UpDQoNCmBgYA0KDQoNCg0KYGBge3J9DQpnZ3Bsb3QoZGF0YSA9IG1wZywgbWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3ksIGNvbG9yID0gZHJ2KSkgKyANCiAgZ2VvbV9wb2ludCgpICsgDQogIGdlb21fc21vb3RoKHNlID0gRkFMU0UpDQoNCmBgYA0KYGBge3J9DQphc190aWJibGUobXBnKQ0KYGBgDQoNCg0KYGBge3J9DQp0aWJibGUoDQogIGEgPSBsdWJyaWRhdGU6Om5vdygpICsgcnVuaWYoMWUzKSAqIDg2NDAwLA0KICBiID0gbHVicmlkYXRlOjp0b2RheSgpICsgcnVuaWYoMWUzKSAqIDMwLA0KICBjID0gMToxZTMsDQogIGQgPSBydW5pZigxZTMpLA0KICBlID0gc2FtcGxlKGxldHRlcnMsIDFlMywgcmVwbGFjZSA9IFRSVUUpDQopDQpgYGANCg0KDQpgYGB7cn0NCmxpYnJhcnkodGltZXRrKQ0KbGlicmFyeShsdWJyaWRhdGUpDQpgYGANCg0KYGBge3J9DQp0YXlsb3JfMzBfbWluDQpgYGANCmBgYHtyfQ0KaW50ZXJhY3RpdmUgPC0gRkFMU0UNCmBgYA0KDQpgYGB7cn0NCnRheWxvcl8zMF9taW4gJT4lIA0KICBwbG90X3RpbWVfc2VyaWVzKGRhdGUsdmFsdWUsLmludGVyYWN0aXZlID0gaW50ZXJhY3RpdmUsIC5wbG90bHlfc2xpZGVyID0gVFJVRSkNCmBgYA0KDQpgYGB7cn0NCm00X2RhaWx5ICU+JSBncm91cF9ieShpZCkNCmBgYA0KDQoNCg0KYGBge3J9DQptNF9kYWlseSAlPiUNCiAgZ3JvdXBfYnkoaWQpICU+JQ0KICBwbG90X3RpbWVfc2VyaWVzKGRhdGUsIHZhbHVlLCANCiAgICAgICAgICAgICAgICAgICAuZmFjZXRfbmNvbCA9IDIsIC5mYWNldF9zY2FsZXMgPSAiZnJlZSIsDQogICAgICAgICAgICAgICAgICAgLmludGVyYWN0aXZlID0gaW50ZXJhY3RpdmUpDQpgYGANCmBgYHtyfQ0KbTRfaG91cmx5ICU+JSBncm91cF9ieShpZCkNCmBgYA0KDQoNCmBgYHtyfQ0KbTRfaG91cmx5ICU+JQ0KICBncm91cF9ieShpZCkgJT4lDQogIHBsb3RfdGltZV9zZXJpZXMoZGF0ZSwgbG9nKHZhbHVlKSwgICAgICAgICAgICAgIyBBcHBseSBhIExvZyBUcmFuc2Zvcm1hdGlvbg0KICAgICAgICAgICAgICAgICAgIC5jb2xvcl92YXIgPSB3ZWVrKGRhdGUpLCAgICAgICMgQ29sb3IgYXBwbGllZCB0byBXZWVrIHRyYW5zZm9ybWF0aW9uDQogICAgICAgICAgICAgICAgICAgIyBGYWNldCBmb3JtYXR0aW5nDQogICAgICAgICAgICAgICAgICAgLmZhY2V0X25jb2wgPSAyLCANCiAgICAgICAgICAgICAgICAgICAuZmFjZXRfc2NhbGVzID0gImZyZWUiLCANCiAgICAgICAgICAgICAgICAgICAuaW50ZXJhY3RpdmUgPSBpbnRlcmFjdGl2ZSkNCmBgYA0KYGBge3J9DQp0YXlsb3JfMzBfbWluICU+JQ0KICBwbG90X3RpbWVfc2VyaWVzKGRhdGUsIHZhbHVlLCANCiAgICAgICAgICAgICAgICAgICAuY29sb3JfdmFyID0gbW9udGgoZGF0ZSwgbGFiZWwgPSBUUlVFKSwNCiAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAjIFJldHVybnMgc3RhdGljIGdncGxvdA0KICAgICAgICAgICAgICAgICAgIC5pbnRlcmFjdGl2ZSA9IEZBTFNFLCAgDQogICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIyBDdXN0b21pemF0aW9uDQogICAgICAgICAgICAgICAgICAgLnRpdGxlID0gIlRheWxvcidzIE1lZ2FXYXR0IERhdGEiLA0KICAgICAgICAgICAgICAgICAgIC54X2xhYiA9ICJEYXRlICgzMC1taW4gaW50ZXJ2YWxzKSIsDQogICAgICAgICAgICAgICAgICAgLnlfbGFiID0gIkVuZXJneSBEZW1hbmQgKE1XKSIsDQogICAgICAgICAgICAgICAgICAgLmNvbG9yX2xhYiA9ICJNb250aCIpICsNCiAgc2NhbGVfeV9jb250aW51b3VzKGxhYmVscyA9IHNjYWxlczo6Y29tbWFfZm9ybWF0KCkpDQpgYGANCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K