# Get this figure: fig <- get_figure("wthrmn", 30)
# Get this figure's data: data <- get_figure("wthrmn", 30)$data
# Add data to this figure: p <- add_trace(p, x=c(4, 5), y=c(4, 5), kwargs=list(filename="WeatherBox", fileopt="extend"))
# Get y data of first trace: y1 <- get_figure("wthrmn", 30)$data[[1]]$y

# Get figure documentation: https://chart-studio.plotly.com/r/get-requests/
# Add data documentation: https://chart-studio.plotly.com/r/file-options/

# You can reproduce this figure in R with the following code!

# Learn about API authentication here: https://chart-studio.plotly.com/r/getting-started
# Find your api_key here: https://chart-studio.plotly.com/settings/api

library(plotly)
trace1 <- list(
  name = "Edinburg, TX", 
  type = "box", 
  y = c(64, 86), 
  marker = list(color = "#FFe600")
)
trace2 <- list(
  name = "Lake Mary, FL", 
  type = "box", 
  y = c(60, 80), 
  marker = list(color = "#fdff00")
)
trace3 <- list(
  name = "Melbourne, FL", 
  type = "box", 
  y = c(65, 79), 
  marker = list(color = "#fdff00")
)
trace4 <- list(
  name = "Lake Elsinore, CA", 
  type = "box", 
  y = c(39, 76), 
  marker = list(color = "#b0ff00")
)
trace5 <- list(
  name = "Phoenix, AZ", 
  type = "box", 
  y = c(54, 76), 
  marker = list(color = "#b0ff00")
)
trace6 <- list(
  name = "Alpine, CA", 
  type = "box", 
  y = c(44, 75), 
  marker = list(color = "#b0ff00")
)
trace7 <- list(
  name = "Arlington, TX", 
  type = "box", 
  y = c(49, 70), 
  marker = list(color = "#3eff00")
)
trace8 <- list(
  name = "Dallas, TX", 
  type = "box", 
  y = c(51, 70), 
  marker = list(color = "#3eff00")
)
trace9 <- list(
  name = "Virginia Beach, VA", 
  type = "box", 
  y = c(48, 62), 
  marker = list(color = "#00ff5c")
)
trace10 <- list(
  name = "Nashville, TN", 
  type = "box", 
  y = c(41, 60), 
  marker = list(color = "#00ff83")
)
trace11 <- list(
  name = "Franklin, TN", 
  type = "box", 
  y = c(38, 59), 
  marker = list(color = "#00ff83")
)
trace12 <- list(
  name = "Waynesville, NC", 
  type = "box", 
  y = c(38, 58), 
  marker = list(color = "#00ffa8")
)
trace13 <- list(
  name = "Sacramento, CA", 
  type = "box", 
  y = c(38, 58), 
  marker = list(color = "#00ffa8")
)
trace14 <- list(
  name = "Chadds Ford, PA", 
  type = "box", 
  y = c(39, 52), 
  marker = list(color = "#00e4ff")
)
trace15 <- list(
  name = "Trinidad, CO", 
  type = "box", 
  y = c(25, 51), 
  marker = list(color = "#00e4ff")
)
trace16 <- list(
  name = "Portland, OR", 
  type = "box", 
  y = c(45, 50), 
  marker = list(color = "#00d4ff")
)
trace17 <- list(
  name = "Limerick, PA", 
  type = "box", 
  y = c(35, 50), 
  marker = list(color = "#00d4ff")
)
trace18 <- list(
  name = "Lakewood, OH", 
  type = "box", 
  y = c(39, 49), 
  marker = list(color = "#00d4ff")
)
trace19 <- list(
  name = "Salt Lake City, UT", 
  type = "box", 
  y = c(30, 45), 
  marker = list(color = "#00b4ff")
)
trace20 <- list(
  name = "Nine Mile Falls, WA", 
  type = "box", 
  y = c(41, 44), 
  marker = list(color = "#00a4ff")
)
trace21 <- list(
  name = "Portage, MI", 
  type = "box", 
  y = c(35, 43), 
  marker = list(color = "#00a4ff")
)
trace22 <- list(
  name = "Victor, MT", 
  type = "box", 
  y = c(29, 42), 
  marker = list(color = "#0094ff")
)
trace23 <- list(
  name = "Rochester, NY", 
  type = "box", 
  y = c(38, 42), 
  marker = list(color = "#0094ff")
)
trace24 <- list(
  name = "Arlington Heights, IL", 
  type = "box", 
  y = c(32, 41), 
  marker = list(color = "#0094ff")
)
trace25 <- list(
  name = "Marquette, MI", 
  type = "box", 
  y = c(31, 38), 
  marker = list(color = "#0074ff")
)
data <- list(trace1, trace2, trace3, trace4, trace5, trace6, trace7, trace8, trace9, trace10, trace11, trace12, trace13, trace14, trace15, trace16, trace17, trace18, trace19, trace20, trace21, trace22, trace23, trace24, trace25)
layout <- list(
  title = "Timelords Weather Forecast - 11/24/2016", 
  yaxis = list(title = "Temperature Range"), 
  legend = list(
    x = 1.02, 
    font = list(
      size = 16, 
      family = "Open Sans"
    )
  ), 
  margin = list(
    b = 100, 
    l = 110, 
    r = 110, 
    pad = 10, 
    autoexpand = TRUE
  )
)
p <- plot_ly()
p <- add_trace(p, name=trace1$name, type=trace1$type, y=trace1$y, marker=trace1$marker)
p <- add_trace(p, name=trace2$name, type=trace2$type, y=trace2$y, marker=trace2$marker)
p <- add_trace(p, name=trace3$name, type=trace3$type, y=trace3$y, marker=trace3$marker)
p <- add_trace(p, name=trace4$name, type=trace4$type, y=trace4$y, marker=trace4$marker)
p <- add_trace(p, name=trace5$name, type=trace5$type, y=trace5$y, marker=trace5$marker)
p <- add_trace(p, name=trace6$name, type=trace6$type, y=trace6$y, marker=trace6$marker)
p <- add_trace(p, name=trace7$name, type=trace7$type, y=trace7$y, marker=trace7$marker)
p <- add_trace(p, name=trace8$name, type=trace8$type, y=trace8$y, marker=trace8$marker)
p <- add_trace(p, name=trace9$name, type=trace9$type, y=trace9$y, marker=trace9$marker)
p <- add_trace(p, name=trace10$name, type=trace10$type, y=trace10$y, marker=trace10$marker)
p <- add_trace(p, name=trace11$name, type=trace11$type, y=trace11$y, marker=trace11$marker)
p <- add_trace(p, name=trace12$name, type=trace12$type, y=trace12$y, marker=trace12$marker)
p <- add_trace(p, name=trace13$name, type=trace13$type, y=trace13$y, marker=trace13$marker)
p <- add_trace(p, name=trace14$name, type=trace14$type, y=trace14$y, marker=trace14$marker)
p <- add_trace(p, name=trace15$name, type=trace15$type, y=trace15$y, marker=trace15$marker)
p <- add_trace(p, name=trace16$name, type=trace16$type, y=trace16$y, marker=trace16$marker)
p <- add_trace(p, name=trace17$name, type=trace17$type, y=trace17$y, marker=trace17$marker)
p <- add_trace(p, name=trace18$name, type=trace18$type, y=trace18$y, marker=trace18$marker)
p <- add_trace(p, name=trace19$name, type=trace19$type, y=trace19$y, marker=trace19$marker)
p <- add_trace(p, name=trace20$name, type=trace20$type, y=trace20$y, marker=trace20$marker)
p <- add_trace(p, name=trace21$name, type=trace21$type, y=trace21$y, marker=trace21$marker)
p <- add_trace(p, name=trace22$name, type=trace22$type, y=trace22$y, marker=trace22$marker)
p <- add_trace(p, name=trace23$name, type=trace23$type, y=trace23$y, marker=trace23$marker)
p <- add_trace(p, name=trace24$name, type=trace24$type, y=trace24$y, marker=trace24$marker)
p <- add_trace(p, name=trace25$name, type=trace25$type, y=trace25$y, marker=trace25$marker)
p <- layout(p, title=layout$title, yaxis=layout$yaxis, legend=layout$legend, margin=layout$margin)