r сюжетно - как предотвратить усечение имени при наведении - PullRequest
0 голосов
/ 18 марта 2020

Имя парения, которое появляется вне поля наведения на моем сюжете, становится обрезанным из-за длинных имен. Я нашел решения для plotly. js и plotly.py , но не R. Я смог удалить это имя из наведения или переместить его в поле со значением , но нужно решение, которое будет держать его на месте, позволяя увидеть все имя целиком.

# sample data
Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 1"
datTemp <- data.frame(Time, Value, Site)

Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 2"
datTemp2 <- data.frame(Time, Value, Site)

Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 3"
datTemp3 <- data.frame(Time, Value, Site)    

figTemp<-datTemp%>%
    plot_ly(x = ~Time, y = ~Value, type = "scatter", mode = "lines", line = list(width = 0.75), name = ~Site[1])%>%
    layout(xaxis = list(title = "Date"), yaxis = list(title = "Temperature (C)"), legend = list(x = 0, y = 1.05, orientation = "h"))

figTemp<-figTemp%>%
    add_trace(data = datTemp2, y = ~Value, type = "scatter", mode = "lines", name = ~Site[1])%>%
    add_trace(data = datTemp3, y = ~Value, type = "scatter", mode = "lines", name = ~Site[1])

1 Ответ

0 голосов
/ 18 марта 2020

Добавьте hovertemplate = paste('(%{x}, %{y})') к вашему звонку на plot_ly. Работал. Попробуйте это:

library(tidyverse)
library(plotly)
# sample data
Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 1"
datTemp <- data.frame(Time, Value, Site)

Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 2"
datTemp2 <- data.frame(Time, Value, Site)

Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 3"
datTemp3 <- data.frame(Time, Value, Site)    

figTemp<-datTemp%>%
  plot_ly(x = ~Time, y = ~Value, type = "scatter", mode = "lines", line = list(width = 0.75), name = ~Site[1],
          hovertemplate = paste('(%{x}, %{y})')) %>%
  layout(xaxis = list(title = "Date"), yaxis = list(title = "Temperature (C)"), legend = list(x = 0, y = 1.05, orientation = "h"))

figTemp<-figTemp%>%
  add_trace(data = datTemp2, y = ~Value, type = "scatter", mode = "lines", name = ~Site[1]) %>%
  add_trace(data = datTemp3, y = ~Value, type = "scatter", mode = "lines", name = ~Site[1])

figTemp

Создано в 2020-03-18 пакетом Представить (v0.3.0)

...