Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Chartjs e variaveis

$
0
0
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):
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,'"');}

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});
          }


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.

Viewing all articles
Browse latest Browse all 14700