2016-05-23 9 views
0

Ich implementierte diese Lösung: http://bl.ocks.org/peterssonjonas/4a0e7cb8d23231243e0eZeile hinzufügen, die in D3 skaliert Zoomable Streudiagramm

Alles funktioniert perfekt.

Ich habe versucht, nur eine einfache Zeile zu diesem Diagramm hinzuzufügen und es richtig zu zoomen, ich brauche eine vertikale und eine 45 Grad von unten links nach oben rechts.

Ich kann nur einen Weg zum Zoomen finden, um richtig zu funktionieren, und ich muss nur eine einfache Zeile hier hinzufügen.

+0

einzurichten ein Beispiel auf jsfiddle, damit wir es bearbeiten können. Sagen Sie dies, es gibt viele Beispiele online – thatOneGuy

+0

Hier ist das Arbeitsbeispiel. Aber zuerst müssen Sie die Chrome-Erweiterung installieren, um die CSV-Datei mit https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkbbhhdihlkkiljbi?hl=de zu erhalten. App ist auf diesen Link: https://jsfiddle.net/L2zvz216/1/ – Teddy

+0

richtig ok also was willst du tun? – thatOneGuy

Antwort

1

Wenn ich dich richtig verstehe. Sie fügen Sie einfach eine Zeile, wo Ihre Punkte zu angefügt werden:

var lineTry = objects.append('line').attr('id','lineTry') 
     .attr('x1', x(0)) 
     .attr('y1', y(-1000)) 
     .attr('x2', x(0)) 
     .attr('y2', y(1000)) 

Die oben genannten y-Werte können nun auf die Höhe des Graphen, aber die Arbeit geändert werden. Dann Schwenken oder Zoomen:

var thisTrans = d3.event.translate; 
    var thisScale = d3.event.scale 

    svg.selectAll("#lineTry") 
    .attr('x1', x(0)) 
    .attr('y1', y((-1000 + thisTrans[1])/thisScale)) 
    .attr('x2', x(0)) 
    .attr('y2', y((1000 + thisTrans[1])/thisScale)) 

verwende ich die vorherigen Werte von 1000 etc fügen die aktuelle Translation in der Y-Richtung er dann von der Skala teilen :)

aktualisiert Geige: https://jsfiddle.net/thatOneGuy/L2zvz216/2/

+1

Verrückt;) Vielen Dank! – Teddy

+0

Wie Sie Ihre jfiddle nur Y-Achse zeigen 0-200 – Teddy

+0

Wie wollen Sie das? Sie können nicht verkleinern und Ihre Daten zeigen Werte> 200 – thatOneGuy

Verwandte Themen