私は、データを取得するためにJSONSmoothieChartのデータをTimeSeriesの第2の値にスパムさせずに更新するにはどうすればよいですか?
function getJSON(_url, _type) {
var request = new XMLHttpRequest();
request.open("GET", _url, true);
request.onload = function() {
if (request.status == 200 && request.readyState == 4) {
Callback(JSON.parse(request.responseText), _type);
} else
error("reach");
};
request.send(null);
}
とコールバック関数を使用して株取引のウェブサイトのいくつかの種類を構築したいです。
function Callback(_data, _type) {
switch (_type) {
case 1.1:
initAktien(_data);
break;
case 1.2:
updateAktien(_data);
break;
}
}
私はSmoothieChartを使用している株を視覚化するために。
あなたが迷っている場合でvar lines = [];
var smoothie = new SmoothieChart({
tooltip: true, millisPerPixel: 50, minValueScale: 0,
grid: {fillStyle: '#99d6ff', strokeStyle: '#6c7d82', verticalSections: 8, borderVisible: false},
labels: {disabled: true, fontSize: 9}, minValue: 0, horizontalLines: [{color: '#000000', lineWidth: 1, value: 0}, {color: '#4d0f00', lineWidth: 2, value: 100}]
});
smoothie.streamTo(document.getElementById("aktien-grafik"), 500);
少しヘッドアップ:「Aktienは」株式を意味し、「preisは」価格を意味し、「anzahlVerfügbarは、」利用可能量を意味します。私はこのコードを他の人から手に入れました。私はそれを "修正"することになっています。それがドイツ語の部分的な理由です。
function initAktien(_data) {
var stocks = document.getElementById("aktien");
var amount = document.getElementById("amount");
for (var i = 0; i <= _data.length - 1; i++) {
var stockoption = document.createElement("option");
stockoption.innerHTML = _data[i].name;
stocks.appendChild(stockoption);
}
for (var j = 1; j <= 5; j++) {
var amountoption = document.createElement("option");
amountoption.innerHTML = j;
amount.appendChild(amountoption);
}
}
function updateAktien(_data) {
var select = document.getElementById("aktien").selectedIndex;
document.getElementById("kurs").innerHTML = _data[select].preis;
document.getElementById("anz").innerHTML = _data[select].anzahlVerfuegbar;
//spam is because of here
lines.push(new TimeSeries());
lines[select].append(new Date().getTime(), _data[select].preis);
smoothie.addTimeSeries(lines[select], {lineWidth: 2, strokeStyle: "#000000"});
}
私はちょうど良いグラフを描画することができますし、私もタイムスタンプとし、価格や時間を表示するオーバーレイを取得します。残念なことに、オーバーレイで価格をスパムするため、サイトがかなり遅くなります。オーバレイを削除しても問題は解決しません。なぜなら、価格はマークされたポイントのどこかでノンストップ に追加されるからです。私はその値をスパムすることなく、データの更新とチャートの描画を維持する方法を知らない。