Code
library(tidyverse)
library(plotly)
library(leaflet)
library(readr)
parks_data <- read_csv("A:/R/National_Parks_Filtered.csv")library(tidyverse)
library(plotly)
library(leaflet)
library(readr)
parks_data <- read_csv("A:/R/National_Parks_Filtered.csv")top_parks <- parks_data |>
arrange(desc(RecreationVisits)) |>
slice(1:15)
plot_ly(
top_parks,
x = ~reorder(ParkName, RecreationVisits),
y = ~RecreationVisits,
type = "bar",
text = ~paste("State:", State, "<br>Region:", Region),
hoverinfo = "text+y",
marker = list(color = "steelblue")
) |>
layout(
title = "Top 15 Most Visited U.S. National Parks (2024)",
xaxis = list(title = "", tickangle = -45),
yaxis = list(title = "Recreation Visits"),
margin = list(b = 100)
)leaflet(parks_data) |>
addTiles() |>
setView(lng = -98.5795, lat = 39.8283, zoom = 4) |>
addCircleMarkers(
lng = ~Longitude,
lat = ~Latitude,
label = ~ParkName,
radius = ~scales::rescale(RecreationVisits, to = c(4, 12)),
popup = ~paste0(
"<b>", ParkName, "</b><br>",
"Visits: ", format(RecreationVisits, big.mark = ","), "<br>",
"Region: ", Region, "<br>",
"State: ", State
),
color = "darkgreen",
stroke = FALSE,
fillOpacity = 0.7
)