2015-11-24 5 views
1

Я пробовал следовать различным ответам здесь, но никто не работал. Я прошел через plotly официальной документации и придумал следующее:Как настроить всплывающую подсказку ggplotly?

данных

Ниже приведен пример набора данных:

> dput(head(df)) 
structure(list(ID = c(-1, -1, -1, -1, -1, -1), spacing.ft = c(0, 
0, 0, 0, 0, 0), gap.s = c(0, 0, 0, 0, 0, 0), frspacing.ft = c(0, 
0, 0, 0, 0, 0), TTC = c(0, 0, 0, 0, 0, 0), LV.vel.fps = c(0, 
0, 0, 0, 0, 0), x = c(0, 0, 0, 0, 0, 0), y = c(0, 0, 0, 0, 0, 
0), z = c(0, 0, 0, 0, 0, 0), frames = 29373:29378, df16 = c(6L, 
6L, 6L, 6L, 6L, 6L), ADO.name = structure(c(NA_integer_, NA_integer_, 
NA_integer_, NA_integer_, NA_integer_, NA_integer_), .Label = c("BlueT5", 
"ghtTFrei10", "ilT6Carg", "owT8Yell", "CargoT4", "MoveT12", "RaceT11", 
"RedT1", "SemiT3", "StarT7", "WhiteT2", "artTWalm9"), class = "factor"), 
    speed.fps.ED = c(33.25, 33.4, 33.55, 33.7, 33.84, 33.99), 
    deltaV.fps = c(33.25, 33.4, 33.55, 33.7, 33.84, 33.99)), .Names = c("ID", 
"spacing.ft", "gap.s", "frspacing.ft", "TTC", "LV.vel.fps", "x", 
"y", "z", "frames", "df16", "ADO.name", "speed.fps.ED", "deltaV.fps" 
), row.names = c(NA, 6L), class = "data.frame") 

Что я хочу сделать:

Я хочу для настройки всплывающей подсказки для добавления скорости, speed.fps.ED. Я попробовал следующее:

library(ggplot2) 
library(plotly) 
mt.plot <- ggplot() + 
    geom_point(data = df, 
      mapping = aes(x = deltaV.fps, y = frspacing.ft, color = ADO.name)) 

# Build the ggplot: 
p <- plotly_build(mt.plot) 


# Change the tooltip: 
p$data[[1]]$text <- paste("ED.speed = ", df$speed.fps.ED) 



p$filename <- 'test' 
r <- plotly_POST(p) 
knit_print.plotly(r, options=list()) 

Вы можете увидеть результат сюжет здесь: Plot.

Проблема

Проблема состоит в том, что третий элемент в подсказке отображается только в течение 1 ADO.name т.е. BlueT5. Я хочу, чтобы он был видимым для всех ADO.name s. В чем проблема?

ответ

Смежные вопросы