Data Visualization

Code for quiz 9.

  1. Load the R package we will use.
library(tidyverse)
library(echarts4r)
library(ggforce) #install  before using for the first time
library(hrbrthemes)
library(tidyquant)
theme_set(theme_minimal()) # set all of the plot themes
  1. Quiz questions

Question: e_charts-1

Create a bar chart that shows the average hours Americans spend on five activities by year. Use the timeline argument to create an animation that will animate through the years.

spend_time  <- read_csv("https://estanny.com/static/week8/spend_time.csv")

e_charts-1

Start with spend_time

spend_time  %>% 
  group_by(year)  %>% 
  e_charts(x = activity , timeline = TRUE) %>% 
  e_timeline_opts(autoPlay = TRUE)  %>% 
  e_bar(serie = avg_hours)  %>% 
  e_title(text ='Average hours Americans spend per day on each activity')  %>% 
  e_legend(show = FALSE)

Question: echarts-2

Create a line chart for the activities that American spend time on.

Start with spend_time

spend_time  %>%
  mutate(year = paste(year, "12","31", sep = "-"))  %>% 
  mutate(year = lubridate::ymd(year))  %>% 
  group_by(activity)  %>%
  e_charts(x  = year)  %>% 
  e_line(serie = avg_hours)  %>% 
  e_tooltip()  %>% 
  e_title(text = 'Average hours Americans spend per day on each activity')  %>% 
  e_legend(top = 40) 

Question - modify slide 82

ggplot(spend_time, aes(x = year, y = avg_hours , color = activity)) +
geom_point() +
geom_mark_ellipse(aes(filter = activity == "leisure/sports",
 description= "Americans spend on average more time each day on leisure/sports than the other activities"))

Question: tidyquant

Modify the tidyquant example in the video

Retrieve stock price for SEE QUIZ, ticker: SEE QUIZ, using tq_get

df  <- tq_get("MSFT", get = "stock.prices", 
          from = "2019-08-01", to = "2020-07-28" )

Create a plot with the df data

library(pacman)
p_load(tidyverse, tidyquant, ggforce, hrbrthemes)
theme_set(theme_minimal())
xom <- tq_get("XOM", get = "stock.prices", from = "2019-08-01", to = "2020-07-28")

xom %>% slice_min(close)
# A tibble: 1 x 8
  symbol date        open  high   low close   volume adjusted
  <chr>  <date>     <dbl> <dbl> <dbl> <dbl>    <dbl>    <dbl>
1 XOM    2020-03-23  32.5  32.7  30.1  31.5 56952500     28.6
xom %>% 
  ggplot(aes(x = date, y = close)) +
  geom_line() +
  geom_mark_ellipse(aes(
    filter = date == "2020-01-08",
    description = "The CDC issued its first publlic alert about the coronavirus"
  ), fill= "yellow") +
  geom_mark_ellipse(aes(
   filter = date == "2020-03-23",
    description = "WHO describes pandemic as 'accelerating'"
  ), color = "red", ) +
  labs(
    title = "Exxon Mobil Corp",
    x = NULL,
    y = "Closing price per share",
    caption = "Source: https://en.wikipedia.org/wiki/Timeline_of_the_COVID-19_pandemic_in_the_United_States"
  )

Save the previous plot to preview.png and add to the yaml chunk at the top

ggsave(filename = "preview.png", 
       path = here::here("_posts", "2021-04-13-data-visualization"))