2016-08-09 127 views
1

Ich bin diesem Link http://bl.ocks.org/mbostock/3048450 folgen. Jetzt besteht der Hauptunterschied darin, anstatt alle Daten für jeden Behälter zu haben, habe ich Gesamtanzahl von Daten für jeden Behälter.d3.js Histogramm arbeitet nicht mit Array der gesamten Frequenz für jeden Behälter

Hier ist meine Arbeitskopie von jsfiddle https://jsfiddle.net/1u53ed4p/

mir nicht in der Lage bin d3 histogram bins zu schaffen, basierend auf meinen Daten.

Vielen Dank für die Hilfe im Voraus.

+0

Nach meinem Verständnis denke ich, dass "Histogramm Bins" -Konzept hier nicht anwendbar ist. Es ist nur für die Segmentierung von Daten in Bereiche anwendbar? – Dibshare

+0

Das Problem kommt von Ihrem Missverständnis, wie die 'Daten' zum Erstellen eines Histogramms sind. Im Moment haben Ihre Daten alle Bins und die Frequenzen! Sie können damit ein Balkendiagramm erstellen, aber kein Histogramm. Um ein Histogramm zu erstellen, sollten Ihre Daten wie folgt aussehen: '[0.32, 0.44, 0.12, 0.65, 0.98, 0.23, 0.87]'. Dann würde das Histogramm-Layout es in Bins (von 0,00 bis 0,2, von 0,2 bis 0,4 usw.) trennen und die Frequenzen berechnen. –

+0

@GerardoFurtado richtig zustimmen. Deshalb habe ich erwähnt, dass "Histogramm-Behälter" -Konzept hier nicht anwendbar ist. Aber wenn ich Behälter und Summen habe, kann ich kein Histogramm daraus zeichnen, das ist wenig verkabelt – Dibshare

Antwort

0

Hier ist die Lösung https://jsfiddle.net/9wq74rok/.

ausgesch
var bins = d3.histogram() 
    .domain(x.domain()) 
    .thresholds(x.ticks(10)) 
    (data); 

Gebrauchte
d.frequency 

Anstelle von

d.length 

Jede Änderung/Erweiterung auf dieses willkommen. Möchte einen schönen Tooltip hinzufügen.