97 lines
3 KiB
R
97 lines
3 KiB
R
![]() |
#These first few lines run only when the file is run in RStudio, !!NOT when an Rmd/Rnw file calls it!!
|
||
|
rm(list=ls(all=TRUE)) #Clear the variables from previous runs.
|
||
|
cat("\f") # clear console
|
||
|
|
||
|
# ---- load-packages --------------------------------------------------
|
||
|
# Attach these packages so their functions don't need to be qualified: http://r-pkgs.had.co.nz/namespace.html#search-path
|
||
|
library(tidyverse)
|
||
|
library(ggmap)
|
||
|
library(highcharter)
|
||
|
|
||
|
|
||
|
# ---- load-sources ---------------------------------------------------
|
||
|
|
||
|
|
||
|
|
||
|
# ---- declare-globals ----------------------------------------------------
|
||
|
|
||
|
|
||
|
|
||
|
# ---- load-data ------------------------------------------------------
|
||
|
|
||
|
# load data from Tidy Tuesday 3//01/22
|
||
|
# https://github.com/rfordatascience/tidytuesday/blob/master/data/2022/2022-03-01/readme.md
|
||
|
|
||
|
ev_stations <- tidytuesdayR::tt_load(2022, week = 9) %>% .$stations
|
||
|
|
||
|
ds1 <- ev_stations %>%
|
||
|
filter(STATE == "NC") %>%
|
||
|
select(LATITUDE, LONGITUDE, STATION_NAME, FUEL_TYPE_CODE, STATE, CITY) %>%
|
||
|
rename(lat = LATITUDE, lon = LONGITUDE, name = STATION_NAME)
|
||
|
|
||
|
|
||
|
# ggmap -------------------------------------------------------------------
|
||
|
|
||
|
# Using GGMAP to create map of NC EV Staions
|
||
|
|
||
|
nc_boundries <- c(-85, 33.5, -75, 37)
|
||
|
|
||
|
get_stamenmap(bbox = nc_boundries, zoom = 7, map = "toner") %>% ggmap() +
|
||
|
geom_point(data = ds1, aes(x = lon, y = lat, fill = FUEL_TYPE_CODE), shape = 21, size = 3) +
|
||
|
scale_fill_brewer(palette = "Dark2") +
|
||
|
theme_void() +
|
||
|
theme(legend.position = "bottom"
|
||
|
,plot.title = element_text(hjust = 0.5, margin=margin(0,0,30,0)) #center title and add space due to theme
|
||
|
) +
|
||
|
guides( #use to move legend title to the top, default is to the side
|
||
|
fill = guide_legend(title.position = "top", title.hjust = 0.5)
|
||
|
) +
|
||
|
labs(
|
||
|
title = "Alternate Fuel Stations in North Carolina"
|
||
|
,fill = "Station Type"
|
||
|
)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
# create map --------------------------------------------------------------
|
||
|
|
||
|
hcmap("countries/us/us-nc-all", showInLegend = FALSE)
|
||
|
|
||
|
colors <- c('#8c510a','#d8b365','#f6e8c3','#c7eae5','#5ab4ac','#01665e')
|
||
|
|
||
|
|
||
|
|
||
|
ds1 <- ev_stations %>%
|
||
|
filter(STATE == "NC") %>%
|
||
|
select(LATITUDE, LONGITUDE, STATION_NAME, FUEL_TYPE_CODE) %>%
|
||
|
rename(lat = LATITUDE, lon = LONGITUDE, name = STATION_NAME) %>%
|
||
|
mutate(color = colorize(FUEL_TYPE_CODE, colors))
|
||
|
|
||
|
|
||
|
|
||
|
hc1 <- hcmap("countries/us/us-nc-all", showInLegend = FALSE
|
||
|
,nullColor = "black" #use to set map background color
|
||
|
,borderColor = "pink" #change the colors of the borders!
|
||
|
) %>%
|
||
|
hc_add_series(
|
||
|
data = ds1
|
||
|
,type = "mappoint"
|
||
|
,dataLabels = list(enabled = FALSE)
|
||
|
,tooltip = list(pointFormat = "{point.name}")
|
||
|
,marker = list(lineWidth = 0, radius = 3, symbol = 'circle')
|
||
|
,hcaes(color = color
|
||
|
,group = FUEL_TYPE_CODE
|
||
|
) #use this to add the color and group to each point
|
||
|
,color = colors # use this to set the color of the series in the legend
|
||
|
) %>%
|
||
|
hc_title(text = "Alternate Fuel Stations in North Carolina")
|
||
|
#note no legend title. No default way to center legend title and I don't like the look of it
|
||
|
|
||
|
|
||
|
hc1
|