Ich habe this is a very helpful example gefunden, Tooltip in Liniendiagrammen zu erstellen. Ich folge dies, um jetzt an einem Liniendiagramm zu arbeiten. Der Unterschied besteht darin, dass der Tooltip in meinem Diagramm ein Feld/Hintergrund enthält, das den im Tooltip angezeigten Wert enthält. Daher füge ich append('rect')
mit attr('fill', 'white')
hinzu.Problem mit überlappenden Toolitp d3.js
mousePerLine.append('rect').
attr('width', '38px').
attr('height', '20px').
attr('class', 'tooltipRect').
style('fill', 'white').
attr('transform', 'translate(5,-13)');
Um How to select multiple selectors with selectAll?
.select("text")
.attr("transform", function(d,i) {
return "translate (10,"+(3+ypos[i].off)+")";
})
zu
.selectAll(".tooltipRect, text")
.attr("transform", function(d,i) {
return "translate (10,"+(3+ypos[i].off)+")";
})
Here's a fiddle of the problem.
jedoch sowie rect, ich geändert Linie 292 nach einem Post hier Überlappung von Text zu vermeiden , sind die Tooltips immer noch überlappend. Kann jemand helfen herauszufinden, was die Ursache des Problems ist? Danke im Voraus!
Danke! Aber der Text überlappt sich jetzt. Mein Problem ist, wie wähle ich rect und Text aus. – user6073145
Es sollte nicht sein. Stellen Sie sicher, dass Sie die Textauswahl nicht entfernt haben (Zeilen 292 - 296). Schließe das und füge den Code hinzu, den ich als neue Auswahl für die Retrakte gepostet habe. Erhöhen Sie außerdem den Verschiebungsbetrag, den Sie in Zeile 286 verwenden, also 15, also 20 oder 25 gerade. – rby
Fantastisch! Vielen Dank! Arbeitete Geige: https://jsfiddle.net/fk6gfwjr/4/ – user6073145