Ich habe vorher ein wirklich sauberes Balkendiagramm mit d3 und d3tip mit etwas Hilfe von StackOverflow gemacht (Ergebnis here). Dieses Mal versuche ich etwas Ähnliches mit d3tip zu erreichen, während ich ein gestapeltes Balkendiagramm verwende. Ich habe es geschafft, das gestapelte Balkendiagramm anhand von Beispielen aus dem Internet zu erstellen, aber es gelingt mir nicht, den Tipp zum Laufen zu bringen (Schnipsel des gestapelten Balkendiagramms here).D3tip und gestapelte Balkendiagramme
Wie Sie im Code-Schnipsel sehen Ich habe versucht, dies zu erreichen mit dem folgenden Code:
svg.selectAll(".g")
.data(data)
.enter().append("rect")
.attr("class", "bar")
.attr("x", function(d) {
return x(d.Year);
})
.attr("width", x.rangeBand())
.attr("y", function(d) {
return y(d.N);
})
.attr("height", function(d) {
return height - y(d.N);
})
.on('mouseover', tip.show)
.on('mouseout', tip.hide);
, die bisher völlig in Ordnung ist. Aus irgendeinem Grund, wenn ich mit der Maus über die Balken fahre, wird nichts angezeigt. Ich erwartete einige Probleme mit den gestapelten Teilen, aber ich verstehe nicht, warum überhaupt kein Trinkgeld angezeigt wird.
Der Inhalt des Tipps ist noch zu entwickeln (ich diskutiere noch, was genau ich anzeigen möchte), aber ich glaube, es sollte zumindest einen Tipp zeigen. Was fehlt mir hier?
Ihr Mouseover ist an der falschen Stelle. Zuvor war es auf den eigentlichen Bars. Jetzt ist es nicht. Wenn Sie die gesamte letzte Funktion entfernen, d. H. Svg.selectAll ('. G'), bemerken Sie, dass nichts passiert. Es macht eigentlich nichts. – thatOneGuy
@thisOneGuy Ich habe gesehen, dass es nichts tut, der Code sollte nicht brechen, wenn ich diesen Abschnitt des Codes entferne (sollte es?). Ich habe das Gefühl, der Fehler liegt in der Auswahl (".g"), aber ich bin mir nicht sicher, was ich wählen soll. – Yoeri
Ich habe eine Antwort hinzugefügt, um zu erklären, lassen Sie mich wissen, wenn Sie nicht verstehen – thatOneGuy