[Javascript] Grafico chartjs con dati da J.ajax

  • Creatore Discussione Creatore Discussione max1974
  • Data di inizio Data di inizio

max1974

Utente Attivo
7 Mar 2013
107
0
16
Salve ragazzi sto cercando di realizzare un grafico con chartjs
in base allo stipendio per mese per ogni dipendente.
il grafico che vorrei far uscire è tipo quello del file che ho allegato
ho il seguente dataset
Codice:
dataset = [
                       {Mese: "December", Importo: "1000", Nome: "Mario"},
                       {Mese: "December", Importo: "1275", Nome: "Gigi"}
                       {Mese: "December", Importo: "1300", Nome: "Antonio"}
                       {Mese: "November", Importo: "1100", Nome: "Mario"},
                       {Mese: "November", Importo: "1375", Nome: "Gigi"},
                       {Mese: "November", Importo: "1310", Nome: "Antonio"}];
poi facendo cosi ho scorporato i 3 campi.
Codice:
                var mese = response.map(function(e) {return e.Mese;});
                var importo = response.map(function(e) {return e.Importo;});
                var nome = response.map(function(e) {return e.Nome;});
ma come li porto dentro al mio grafico che come nell'esempio qui sotto chiede questi dati ??
Codice:
            lineData = {
                labels: ["January", "February", "March", "April", "May", "June", "July"],
                datasets: fillChartJsColors('line', [
                    {
                        label: "My First dataset",
                        strokeColor: LobiAdmin.fadeOutColor(LobiAdmin.DEFAULT_COLOR, 60),
                        data: [65, 59, 80, 81, 56, 55, 40]
                    },
                    {
                        label: "My Second dataset",
                        strokeColor: LobiAdmin.fadeOutColor(LobiAdmin.DEFAULT_COLOR, 70),
                        data: [28, 48, 40, 19, 86, 27, 90]
                    }
                ])
            };
anche perche nella variabile mese mi ritrovo mese = ["December", "December", "December", "November","November","November"]
e cosi via....
cosa sbaglio ???? una mano please....
NB: Nella barra "X" vorrei avere i mesi, nella barra "Y" gli importi e come label i nomi delle persone, percio fare una linea colorata diversamente per ogni persona.
 

Allegati

  • download.png
    download.png
    61,3 KB · Visite: 444
Scusate ma sto bloccato cosi non riesco a riportare gli importi giusti in (XXImporto).....una mano per favore...
Codice:
results = [
                       {Mese: "December", Importo: "1000", Nome: "Mario"},
                       {Mese: "December", Importo: "1275", Nome: "Gigi"},
                       {Mese: "December", Importo: "1300", Nome: "Antonio"},
                       {Mese: "November", Importo: "1100", Nome: "Mario"},
                       {Mese: "November", Importo: "1375", Nome: "Gigi"},
                       {Mese: "November", Importo: "1310", Nome: "Antonio"}];
                var Mese = [];
                var Nome = [];
                var Importo= [];
                results.forEach(function(data) {
                  Mese.push(data.Mese);
                  Nome.push(data.Nome);
                  Importo.push(data.Importo);
                });
                var uniqueMese = [];
                $.each(Mese, function(i, el){
                    if($.inArray(el, uniqueMese) === -1) uniqueMese.push(el);
                });
                var uniqueNome = [];
                $.each(Nome, function(i, el){
                    if($.inArray(el, uniqueNome) === -1) uniqueNome.push(el);
                });
                    var data = {
                        labels: uniqueMese,
                    datasets: fillChartJsColors('line',[])
                }
                var XXNome = [];
                uniqueMese.forEach(function(XXa, a) {
                  XXNome = [];
                  XXImporto = [];
                  uniqueNome.forEach(function(XXb, b) {
                    XXImporto.push(Importo[b]);                   
                  });
                  data.datasets.push(
                    {
                      label: uniqueNome[a],
                      strokeColor: LobiAdmin.fadeOutColor(LobiAdmin.DEFAULT_COLOR, 60),
                      data: XXImporto
                  });
                });
 
ragazzi ci siamo quasi.....se per favore mi aiutate a riportare l'importo relativo
vedete qui esempio
 
in realta ci siamo quasi credo che il problema sia alla fonte......dovrei secondo me da questo array
{Mese: "Ottobre", Importo: "1148", Nome: "Mario"},
{Mese: "Ottobre", Importo: "1175", Nome: "Gigi"},
{Mese: "Ottobre", Importo: "1240", Nome: "Antonio"},
{Mese: "Novembre", Importo: "1100", Nome: "Mario"},
{Mese: "Novembre", Importo: "1375", Nome: "Gigi"},
{Mese: "Novembre", Importo: "1310", Nome: "Antonio"},
{Mese: "Dicembre", Importo: "1200", Nome: "Mario"},
{Mese: "Dicembre", Importo: "1275", Nome: "Gigi"},
{Mese: "Dicembre", Importo: "1300", Nome: "Antonio"}
ottenere una Array cosi
{Importo: {"1148","1100","1200"}, Nome: "Mario"},
{Importo: {"1175","1375","1275"}, Nome: "Gigi"},
{Importo: {"1240","1310","1300"}, Nome: "Antonio"},
 

Discussioni simili