Как добавить легенды в линейный сюжет группы в сюжет в R? - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь добавить легенду для каждой линии на графике сгруппированных линий, но не могу найти соответствующую документацию. Вот код без легенд (код из официальной документации https://plot.ly/r/group-by/).

library(plotly)

p <- plot_ly(
  type = 'scatter',
  x = mtcars$hp,
  y = mtcars$qsec,
  text = paste("Make: ", rownames(mtcars),
               "<br>hp: ", mtcars$hp,
               "<br>qsec: ", mtcars$qsec,
               "<br>Cyl: ", mtcars$cyl),
  hoverinfo = 'text',
  mode = 'markers',
  transforms = list(
    list(
      type = 'groupby',
      groups = mtcars$cyl,
      styles = list(
        list(target = 4, value = list(line =list(color = 'blue'))),
        list(target = 6, value = list(line =list(color = 'red'))),
        list(target = 8, value = list(line =list(color = 'black')))
      )
      )
    )
  )

1 Ответ

0 голосов
/ 10 апреля 2019

Добавление команды макета внизу будет работать layout(showlegend = TRUE). Это может работать, будучи переданным по конвейеру с использованием пакета library(dplyr), как показано здесь:

library(plotly)
library(dplyr)

p <- plot_ly(
  type = 'scatter',
  x = mtcars$hp,
  y = mtcars$qsec,
  text = paste("Make: ", rownames(mtcars),
               "<br>hp: ", mtcars$hp,
               "<br>qsec: ", mtcars$qsec,
               "<br>Cyl: ", mtcars$cyl),
  hoverinfo = 'text',
  mode = 'markers',
  transforms = list(
    list(
      type = 'groupby',
      groups = mtcars$cyl,
      styles = list(
        list(target = 4, value = list(line =list(color = 'blue'))),
        list(target = 6, value = list(line =list(color = 'red'))),
        list(target = 8, value = list(line =list(color = 'black')))
      )
      )
    )
  ) %>%
layout(showlegend = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...