Dies ist meine Eingabedatei:Daten ggvis Tooltip hinzufügen, die in dem Eingabedatensatz enthalten sind, aber nicht direkt in den vis
> names(breakingbad.episodes)
[1] "season" "episode" "epnum" "epid" "title"
[6] "url.trakt" "firstaired.utc" "id.tvdb" "rating" "votes"
[11] "loved" "hated" "overview" "firstaired.posix" "year"
[16] "zrating.season" "src"
Für meine ggvis
ich die folgenden Variablen bin mit firstaired.posix
und rating
:
> str(breakingbad.episodes[c("firstaired.posix", "rating")])
'data.frame': 62 obs. of 2 variables:
$ firstaired.posix: POSIXct, format: "2008-01-21 02:00:00" "2008-01-28 02:00:00" "2008-02- 11 02:00:00" ...
$ rating : num 87 85 84 84 83 90 87 85 88 83 ...
ich habe erfolgreich mein ggvis
mit einem Tooltip die rating
Informationen wie diese enthalten:
> breakingbad.episodes %>%
ggvis(x = ~firstaired.posix,
y = ~rating,
fill = ~season) %>%
layer_points() %>%
add_axis("x", title = "Airdate") %>%
add_axis("y", title = "Rating") %>%
add_legend("fill", title = "Season") %>%
add_tooltip(function(data){paste0("Rating: ", data$rating)}, "hover")
Aber ich will eigentlich den Tooltip, um mehr Daten, wie die epid
Variable enthalten, also habe ich versucht:
…
add_tooltip(function(data){paste0("Rating: ", data$rating, "\n", "Epid: ", as.character(data$epid))}, "hover")
... Mit as.character()
weil epid
ein geordneter Faktor ist - aber der Teil des Tooltip ist leer. (Ich bemerkte auch den Zeilenumbruch, den ich beabsichtigte \n
einzufügen, fehlt, aber das ist ein anderes Problem).
Es ist wie die Ursache für dieses Problem sieht, ist, dass das vis
Objekt erstellt von meinem Dataset in ggvis
kochend enthält nicht die Informationen, die ich angezeigt werden soll, zumindest das ist, warum ich, indem Sie durch die Ausgabe von str()
auf der geraffte erstes Beispiel.
EDIT: Ich löste dieses linebreak Problem, so dass es mich nicht ?add_tooltip
zeigen muss - total vergessen.
EDIT: Die angenommene Antwort funktioniert gut, auch wenn es mich nicht erlaubt willkürliche Variablen in den Tooltip zu setzen, ist es ziemlich genau das, was ich für meinen Anwendungsfall brauche, danke! Hier ist, was ich am Ende tat
breakingbad.episodes <- transform(breakingbad.episodes, id = paste0(epid, " - ", title))
breakingbad.episodes %>%
ggvis(x = ~firstaired.posix,
y = ~rating,
fill = ~season,
key := ~id) %>%
layer_points() %>%
add_axis("x", title = "Airdate") %>%
add_axis("y", title = "Rating") %>%
add_legend("fill", title = "Season") %>%
add_tooltip(all_values, "click")
Was passiert, wenn Sie den 'add_tooltip' vor dem' ggvis' setzen? –
Funktioniert nicht, weil 'add_tooltip' ein' vis' als erstes Argument verwendet und vis von 'ggvis()' generiert wird. – Jemus42
Sie finden das heraus? Der Schlüssel muss einzigartig sein. –