Boas malta, estou aqui com um problema que não consigo resolver por nada.
Basicamente eu tenho uma aplicação em python que pelo framework webiopi posso enviar valores a uma pagina, até aqui tudo bem, os valores chegam em forma de string com o formato correto para colocar no chartjs no entanto quando coloca la a variável não carrega nada e colocando alertas antes de criar o gráfico verifico que as variáveis estão todas em branco, mesmo estando o processo que as preenche antes desses alertas, alguém sabe a que se pode dever, deixo o código que tenho
Ficheiro myjs.js
Código (Javascript):
Ficheiro temp.py
Código (Javascript):
Como podem ver no ficheiro temp.py tenho outra parte que carrega também variáveis vindas do ficheiro myjs.js e funciona sem problemas, mas no chartjs não funciona
Ja tentei colocar tudo no mesmo ficheiro e o problema que tenho é exactamente o mesmo.
Basicamente eu tenho uma aplicação em python que pelo framework webiopi posso enviar valores a uma pagina, até aqui tudo bem, os valores chegam em forma de string com o formato correto para colocar no chartjs no entanto quando coloca la a variável não carrega nada e colocando alertas antes de criar o gráfico verifico que as variáveis estão todas em branco, mesmo estando o processo que as preenche antes desses alertas, alguém sabe a que se pode dever, deixo o código que tenho
Ficheiro myjs.js
Código (Javascript):
function callMacro_Graph(){
var args = [0, 1, 2, 3]
webiopi().callMacro("pgraph", args, macro_Graph_Callback);}
function macro_Graph_Callback(macro, args, data){
glabel = data.split("] [")[0];
glabel = glabel.replace('[','');
glabel = glabel.replace(/'/g,'"');
gtemp0 = data.split("] [")[1];
gtemp0 = gtemp0.replace(/'/g,'"');
gtemp1 = data.split("] [")[2];
gtemp1 = gtemp1.replace(/'/g,'"');
gtempm = data.split("] [")[3]
gtempm = gtempm.replace(']','');
gtempm = gtempm.replace(/'/g,'"');}
var args = [0, 1, 2, 3]
webiopi().callMacro("pgraph", args, macro_Graph_Callback);}
function macro_Graph_Callback(macro, args, data){
glabel = data.split("] [")[0];
glabel = glabel.replace('[','');
glabel = glabel.replace(/'/g,'"');
gtemp0 = data.split("] [")[1];
gtemp0 = gtemp0.replace(/'/g,'"');
gtemp1 = data.split("] [")[2];
gtemp1 = gtemp1.replace(/'/g,'"');
gtempm = data.split("] [")[3]
gtempm = gtempm.replace(']','');
gtempm = gtempm.replace(/'/g,'"');}
Ficheiro temp.py
Código (Javascript):
var g1, g2, g3
//GRafico
var lineChartData = {
labels : [glabel],
datasets : [
{
label: "Temp 0",
fillColor : "rgba(220,220,220,0.2)",
strokeColor : "rgba(220,220,220,1)",
pointColor : "rgba(220,220,220,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(220,220,220,1)",
data : [gtemp0]
},
{
label: "Temp 1",
fillColor : "rgba(151,187,205,0.2)",
strokeColor : "rgba(151,187,205,1)",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(151,187,205,1)",
data : [gtemp1]
},
{
label: "Temp M",
fillColor : "rgba(151,187,205,0.2)",
strokeColor : "rgba(151,187,205,1)",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(151,187,205,1)",
data : [gtempm]
}
]
}
//Tempraturas
window.onload = function(){
var g1 = new JustGage({
id: "g1",
value: 0,
min: 15,
max: 30,
decimals: 1,
title: "Temp",
titleFontColor: "Black",
label: "°C",
});
var g2 = new JustGage({
id: "g2",
value: 0,
min: 15,
max: 30,
decimals: 1,
title: "Temp 1",
titleFontColor: "Black",
label: "°C",
});
var g3 = new JustGage({
id: "g3",
value: 0,
min: 15,
max: 30,
decimals: 1,
title: "Temp Média",
titleFontColor: "Black",
label: "°C",
});
setInterval(function() {
g1.refresh(temp0);
g2.refresh(temp1);
g3.refresh(tempm);
}, 4500);
//Grafico
callMacro_Graph();
var ctx = document.getElementById("canvas").getContext("2d");
window.myLine = new Chart(ctx).Line(lineChartData, {
responsive: true});
}
//GRafico
var lineChartData = {
labels : [glabel],
datasets : [
{
label: "Temp 0",
fillColor : "rgba(220,220,220,0.2)",
strokeColor : "rgba(220,220,220,1)",
pointColor : "rgba(220,220,220,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(220,220,220,1)",
data : [gtemp0]
},
{
label: "Temp 1",
fillColor : "rgba(151,187,205,0.2)",
strokeColor : "rgba(151,187,205,1)",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(151,187,205,1)",
data : [gtemp1]
},
{
label: "Temp M",
fillColor : "rgba(151,187,205,0.2)",
strokeColor : "rgba(151,187,205,1)",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(151,187,205,1)",
data : [gtempm]
}
]
}
//Tempraturas
window.onload = function(){
var g1 = new JustGage({
id: "g1",
value: 0,
min: 15,
max: 30,
decimals: 1,
title: "Temp",
titleFontColor: "Black",
label: "°C",
});
var g2 = new JustGage({
id: "g2",
value: 0,
min: 15,
max: 30,
decimals: 1,
title: "Temp 1",
titleFontColor: "Black",
label: "°C",
});
var g3 = new JustGage({
id: "g3",
value: 0,
min: 15,
max: 30,
decimals: 1,
title: "Temp Média",
titleFontColor: "Black",
label: "°C",
});
setInterval(function() {
g1.refresh(temp0);
g2.refresh(temp1);
g3.refresh(tempm);
}, 4500);
//Grafico
callMacro_Graph();
var ctx = document.getElementById("canvas").getContext("2d");
window.myLine = new Chart(ctx).Line(lineChartData, {
responsive: true});
}
Como podem ver no ficheiro temp.py tenho outra parte que carrega também variáveis vindas do ficheiro myjs.js e funciona sem problemas, mas no chartjs não funciona
Ja tentei colocar tudo no mesmo ficheiro e o problema que tenho é exactamente o mesmo.