Ich versuche Box-Plots als Teil einer Datenvisualisierungsschnittstelle zu implementieren, die d3 und AngularJS verwendet. Ich arbeite mit diesem Box-Plot-Paket: https://bl.ocks.org/mbostock/4061502.d3.js Box Plot Positionierung Problem mit box.js
Ich kann jedoch nicht herausfinden, welcher Teil des Beispielcodes die Positionierung der Box-Plots steuert. Im Beispiel sind die fünf Boxplots sequenziell angeordnet. Wenn ich versuche, meine Plots zu generieren, erscheinen sie alle übereinander.
Hier ist der Code, dass ich die Box-Plots zu erzeugen bin mit:
boxplots = svg.selectAll("svg")
.data(boxPlotData)
.enter().append("svg")
.attr("class", "box")
.attr("width", boxWidth + margin.left + margin.right)
.attr("height", boxHeight + margin.bottom + margin.top)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")")
.call(chart);
Hier ist der Code für wie meine svg Leinwand erstellt. Dies wird in einer Winkel Richtlinie getan:
template:"<svg width='825' height='600'></svg>",
link: function($scope, elem){
var d3 = $window.d3;
var rawSvg=elem.find('svg'); // this is the svg created in the template
var width = rawSvg[0].attributes[0].value;
var height = rawSvg[0].attributes[1].value;
var svg = d3.select(rawSvg[0]);
Edit: noch nicht perfekt, aber es bekommen:
Was ist das übergeordnete Element der '
Ich habe meinen ursprünglichen Post mit dem Code aktualisiert, der meine SVG-Leinwand erstellt. Da ich ein SVG-Element als übergeordnetes Element für die Box-Plots habe, scheint es, dass sie beide standardmäßig auf (0, 0) für ihren Startort festgelegt sind. Ich gehe davon aus, dass ich sie an den richtigen Ort übersetzen muss? Wohin geht dieser Code? Sie werden beide auf einmal erstellt, so dass ich mir nicht sicher bin, wie ich ihnen verschiedene Übersetzungskoordinaten geben kann. –