Datensatz fuer Flot Graphen aendern

waxmax64

Grünschnabel
Hallo zusammen,
ich moechte den Datensatz oldDataSet um ein weiteres Wertepaar (einen neuen Punkt) ergaenzen und zudem den aeltesten (ersten) aus der Reihe loeschen, sodass die Anzahl der Datenpunkte konstant bleibt.

Wenn mein alter Datensatz so aussieht

Code:
var oldDataSet = [[0.00,1.00],[1.00,34.25],[2.00,23.50]]

und der Punkt

Code:
var newValue=[3.00,22.25]
dazukommt

möchte ich das newDataSet so aussieht:

Code:
var newDataSet = [[1.00,34.25],[2.00,23.50],[3.00,22.25]]


Ich hab schon mit den Array-Funktionen spline und push herumprobiert, komme aber zu keinem Ergebnis.


Danke schonmal im Voraus fuer eure Hilfe!

Mfg Max
 
Problem geloest.

Meine x und y Werte waren (nicht wie im ersten Post angegeben) Strings, also

["3.00","22.25"]

und damit kann Flot logischerweise nicht anfangen.
 
Schon mal mit direktem Zugriff über die Indices versucht?
Code:
i = oldDataSet.length-1;        //  Nummer des letzten Elementes in einem Array
newDataSet=oldDataSet;             // Kopie anlegen
newDataSet[i]= newValue;          // Wert ersetzen
 
Ich habs jetzt so geloest:

Code:
function numsort(a, b) 
{
return (a)[0] - (b)[0]; // 0 meint sortieren nach xValue
}

function updateChart(newValue)
{
	dataSet1.splice(0,1,newValue);
	dataSet1.sort(numsort);
	
	$(function () {
	$.plot($("#dia0014"), [
	{
	data: dataSet1, .........

Mei Array hat die Laenge 48.
Das heisst es wird immer der Wert mit Index 0 geloescht, durch newValue ersetzt und anschliessend das Array nach den xWerten sortiert (heisst das der neu eingefuegte Wert an Pos 47 rutscht.
Das funktioniert beim ersten neu eingefuegten Wert auch super, aber sobald ich die Funktion ein zweites Mal aufrufe steht anschliessend in dataSet[47] (so wies sein soll) UND ABER auch in dataSet[46] der newValue vom zweiten Aufruf.
Beim dritten Aufruf steht dann der newValue vom dritten Aufruf in dataSet[47], dataSet[46] und dataSet[45]

USW .....


Woran liegt das, dass er immer den neuesten Wert allen zuordnet und die alten nicht behaelt?
 

Neue Beiträge

Zurück