Ich versuche das einfachste Diagramm (beliebigen Typs) mit Daten aus einer externen JSON-Datei. Ich benutze plotly.js
, die eine Erweiterung von d3js ist. Kein Plotten durch d3js, wenn Daten mit einer Variablen verknüpft sind
Dies ist der Teil von Interesse:
var dates = [], scores = [];
var user_json = 'https://hacker-news.firebaseio.com/v0/user/anton_tarasenko.json';
var item_json = 'https://hacker-news.firebaseio.com/v0/item/';
$.getJSON(user_json, function (user) {
$.each(user.submitted, function(i, item_id) {
$.getJSON(item_json + item_id + '.json', function(item) {
if (item.type == 'story') {
scores.push(Number(item.score));
dates.push(Number(item.time));
}
});
});
});
var data = [{
x: dates,
y: scores,
mode: 'lines+markers',
type: 'scatter'
}];
Plotly.newPlot('myDiv', data);
Dies gibt ein leeres Grundstück. Aber wenn ich ersetzen x: dates
mit x: [1461189218, 1460844086, ... , 1427738937]
und y: scores
mit y: [1, 154, ..., 1]
(Ausgabe von console.log(dates)
und log(scores)
), es funktioniert gut.
Warum ignoriert die Bibliothek Verweise auf Arrays? Ich denke, ich missbrauche Variablen, aber nicht sicher, wie.
Irgendwelche Ideen?
Vielen Dank: es war async. Ich habe "newPlot" nach "push" verschoben, so dass es jetzt jedes Mal neu gezeichnet wird, wenn es eine neue Nummer bekommt. –