Orange

library(plotly)

data(Orange)

cores <- c("1" = "#e41a1c", "2" = "#377eb8", "3" = "#4daf4a",
           "4" = "#984ea3", "5" = "#ff7f00")

fig <- plot_ly()

for (tree_id in levels(Orange$Tree)) {
  sub <- Orange[Orange$Tree == tree_id, ]
  fig <- add_trace(
    fig,
    data = sub,
    x    = ~age,
    y    = ~circumference,
    type = "scatter",
    mode = "lines+markers",
    name = paste("Árvore", tree_id),
    line = list(color = cores[tree_id]),
    marker = list(color = cores[tree_id]),
    text = paste0("Árvore ", tree_id,
                  " — idade: ", sub$age, " dias",
                  " — circ.: ", sub$circumference, " mm"),
    hoverinfo = "text"
  )
}

fig <- layout(
  fig,
  title  = "Crescimento das Laranjeiras (dataset Orange)",
  xaxis  = list(title = "Idade (dias)"),
  yaxis  = list(title = "Circunferência (mm)"),
  legend = list(title = list(text = "Laranjeira"))
)

fig