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