» »

[JS] jqplot

[JS] jqplot

korenje3 ::

Imam problem z datafiltrom. A kdo ve zakaj mi updejta array, v katerem hranim podatke?
S filtrom delam povprečje petih vrednosti, ampak mi očitno spreminja še plots[data.item].data.
Torej mi pri vsakem novem appendanju v plots[data.item].data inkrementalno gladi krivuljo. A kdo ve v čem je fora?

	var jqplotAverageRenderer = function (userData, plotObject, options) {
		var filterdata = [];
		for(var series in userData){
			filterdata[series] = [];
			for(var point in userData[series]){
				filterdata[series][point] = userData[series][point];
				if(! userData[series][point]){
					continue;
				}
				var j = 0;
				k = 0;
				for(var i = 0; i <= options.averageof; i++){
					if(point >= i){
						j += filterdata[series][point-i][1];
						k += 1;
					}
				}
				j = j/k;
//				console.log("Average point "+point+": "+j);
				filterdata[series][point][1] = j;
			}
		}
		return filterdata;
	}

	function plotgraph (data){
		if(typeof plots[data.item].plot !== 'undefined'){
			plots[data.item].plot.destroy();
		}
		for(var series in data.options.value){
			if(typeof plots[data.item].data[series] === 'undefined'){
				plots[data.item].data[series] = [];
			}
			plots[data.item].data[series] = plots[data.item].data[series].concat(data.options.value[series]);
		}
		if(typeof data.options.valueid !== 'undefined'){
			plots[data.item].labels = [];
			for(var i=0; i < data.options.valueid.length; i++){
				plots[data.item].labels.push(vhodi[data.options.valueid[i]].prikaz);
			}
		}
		plots[data.item].plot = $.jqplot(data.id, plots[data.item].data, {
			title:upravljanje[data.page].vhodi[data.item].prikaz,
			dataRenderer: jqplotAverageRenderer,
			dataRendererOptions: {
				averageof:data.options.averageof,
				interval:data.options.updateint,
				razpon:data.options.razpon
			},
			legend: {
				show:true,
				renderer:$.jqplot.EnhancedLegendRenderer,
				placement: 'outsideGrid',
				labels:plots[data.item].labels,
				location:'ne'
			},
			grid:{
				gridLineWidth: 1.5,
				gridLineColor: 'rgb(235,235,235)',
				drawGridlines: true
			},
			axesDefaults: {
				labelRenderer: $.jqplot.CanvasAxisLabelRenderer
			},
			axes:{
				xaxis:{
					label:"Čas",
					tickOptions : {
						angle: -30,
						fontSize: '10pt'
					},
					renderer:$.jqplot.DateAxisRenderer
				},
				yaxis:{
					label:"Temperatura",
					tickOptions: {
						fontSize: '10pt'
					}
				}
			},
			seriesDefaults: {
				lineWidth: 1.5,
				fill: false,
				fillAndStroke: false,
//					linePattern: 'dashed',
				showMarker: false,
				shadow: false,
				rendererOptions: {
					smooth: true
				},
				color: 'green',
				trendline: {
					show: true,
					type: 'linear',
					lineWidth: 1,
					shadow: false,
					color: 'blue'
				}
			},
			canvasOverlay: {
				show: true,
				objects: [
					{verticalLine: {
						name: 'pebbles',
						x: new $.jsDate(plots[data.item].data[0][plots[data.item].data[0].length-1][0]).getTime(),
						lineWidth: 1.5,
						yOffset: 0,
						lineCap: 'butt',
						color: 'red',
						shadow: false
					}}
				]
			},
			cursor: {
				show: false
			}
		});
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
  • spremenil: korenje3 ()

korenje3 ::

nvermind. Sem že pogruntal.
6. vrstica naredi referenco, namesto kopijo: filterdata[series][point] = userData[series][point];

filterdata[series][point] = userData[series][point].concat();
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Arduino in luči (strani: 1 2 )

Oddelek: Elektrotehnika in elektronika
9812180 (9806) FX6300B
»

[js jquery] širina diva

Oddelek: Programiranje
141220 (1088) alexa-lol
»

[js] zajem slike iz IP kamere

Oddelek: Programiranje
51160 (931) korenje3
»

Unattended install for Windows - beginner

Oddelek: Operacijski sistemi
61229 (1182) TitanSLO
»

[.NET ASP] Napaka : Specified cast is not valid

Oddelek: Programiranje
61130 (1083) pinc

Več podobnih tem