Autore Topic: Ultima versione di linegraf  (Letto 2981 volte)

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Ultima versione di linegraf
« Risposta #30 il: 04 Luglio 2011, 23:04:08 »
@ tornu

ho sfruttato le librerie che Google mette a disposizione, so che i puristi storceranno il naso, sfrutto lavori esterni, ma mi sembra un compromesso accettabile.

Punto di partenza
Si vada all'url http://code.google.com/intl/it-IT/apis/chart/image/index.html. Un esempio di grafico:

http://chart.apis.google.com/chart?chxr=0,0,46&chxt=y&chs=300x225&cht=lc&chco=3D7930&chd=s:Xhiugtqi&chg=14.3,-1,1,1&chls=2,4,0&chm=B,C5D4B5BB,0,0,0

in sostanza con g3 si crea una pagina html del tipo:
Codice: [Seleziona]
<HTML>
<BODY>
<img src='http://chart.apis.google.com/chart?chxr=0,0,46&chxt=y&chs=300x225&cht=lc&chco=3D7930&chd=s:Xhiugtqi&chg=14.3,-1,1,1&chls=2,4,0&chm=B,C5D4B5BB,0,0,0'/>
</BODY>
</HTML>

In alternativa si crea una pagina html con codice javascript (sempre con g3):
Codice: [Seleziona]
<html>
  <head>
   <title> Example Chart </title>
   <script language="javascript" src="http://www.google.com/jsapi"></script>
   </head>
   <body>

   <div id="chart"></div>

   <script type="text/javascript">
      var queryString = '';
      var dataUrl = '';

      function onLoadCallback() {
        if (dataUrl.length > 0) {
          var query = new google.visualization.Query(dataUrl);
          query.setQuery(queryString);
          query.send(handleQueryResponse);
        } else {
          var dataTable = new google.visualization.DataTable();
          dataTable.addRows(8);

          dataTable.addColumn('number');
          dataTable.setValue(0, 0, 37.704918032786885);
          dataTable.setValue(1, 0, 54.09836065573771);
          dataTable.setValue(2, 0, 55.73770491803279);
          dataTable.setValue(3, 0, 75.40983606557377);
          dataTable.setValue(4, 0, 52.459016393442624);
          dataTable.setValue(5, 0, 73.77049180327869);
          dataTable.setValue(6, 0, 68.85245901639344);
          dataTable.setValue(7, 0, 55.73770491803279);

          draw(dataTable);
        }
      }

      function draw(dataTable) {
        var vis = new google.visualization.ImageChart(document.getElementById('chart'));
        var options = {
          chxl: '',
          chxp: '',
          chxr: '0,0,46',
          chxs: '',
          chxtc: '',
          chxt: 'y',
          chs: '300x225',
          cht: 'lc',
          chco: '3D7930',
          chd: 's:Xhiugtqi',
          chdl: '',
          chg: '14.3,-1,1,1',
          chls: '2,4,0',
          chm: 'B,C5D4B5BB,0,0,0'
        };
        vis.draw(dataTable, options);
      }

      function handleQueryResponse(response) {
        if (response.isError()) {
          alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
          return;
        }
        draw(response.getDataTable());
      }

      google.load("visualization", "1", {packages:["imagechart"]});
      google.setOnLoadCallback(onLoadCallback);

    </script>
  </body>
</html>

Sto migliorando una classe che contempla i tag principali x creare la stringa.

In sostanza il grafico pie lo creo cosi':
  
Codice: [Seleziona]
Dim grafico As New GoogleChart
  grafico.arraydati = fDati
  grafico.nomefile = "nutrienti.html"
  grafico.titolo_linechart = "Nutrienti pasto del " & DateBox1.value
  grafico.altezza_linechart = "300"
  grafico.larghezza_linechart = "480"
  grafico.legendaproteine_piechart = Format$((Round(tp, -2) / totale), "##%")
  grafico.legendagrassi_piechart = Format$((Round(tg, -2) / totale), "##%")
  grafico.legendacarboidrati_piechart = Format$((Round(tc, -2) / totale), "##%")
  grafico.BuildPieChart
  webview1.Url = Application.path & "/nutrienti.html"

La classe GoogleChart la allego (è una beta ma funziona, almeno x myZone). Secondo me è un lavoro da sviluppare e migliorare, la qualità dei grafici java e' notevole, dai una guardata agli esempi, e puoi si possono costruire template con i tool di google da utilizzare con g3.
« Ultima modifica: 04 Luglio 2011, 23:07:22 da andy60 »

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Ultima versione di linegraf
« Risposta #31 il: 11 Luglio 2011, 21:28:46 »
ottimo lavoro andy, :) , molto belli i grafici con google, anche se personalmente non mi piace molto dipendere da internet per creare un grafico, cmq linegraf è nata più che altro come libreria per creare in modo semplice e veloce dei grafici (io ad esempio ho realizzato anche un monitor di sistema aggiornato in realtime ) per cui è pensata per essere semplice da usare e quindi poco personalizzabile (altrimenti dovrebbe avere una 30ina di proprietà).

cmq in linegraft 0.19 ho modificato qualcosetta sulla torta



Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Ultima versione di linegraf
« Risposta #32 il: 11 Luglio 2011, 22:41:59 »
Scaricata e aggiornata.  :D
Scusa fsurfing, mi dici che differenze ci sono con la precedente, a prima vista mi sembra tutto uguale.
Comunque grazie in attesa di ulteriori sviluppi.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Ultima versione di linegraf
« Risposta #33 il: 11 Luglio 2011, 22:49:20 »
@fsurfing

bellissimo lavoro caro Sergio :2birre:!!
« Ultima modifica: 11 Luglio 2011, 23:27:37 da andy60 »

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Ultima versione di linegraf
« Risposta #34 il: 11 Luglio 2011, 23:03:18 »
@ tornu
...................
La classe GoogleChart la allego (è una beta ma funziona, almeno x myZone). Secondo me è un lavoro da sviluppare e migliorare, la qualità dei grafici java e' notevole, dai una guardata agli esempi, e puoi si possono costruire template con i tool di google da utilizzare con g3.
Scusa andy, ma non ho capito bene come usare la classe che hai postato, potresti postarmi un esempio completo vorrei fare delle prove.
Grazie
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Ultima versione di linegraf
« Risposta #35 il: 11 Luglio 2011, 23:20:39 »
@tornu

vedo di fare un esempio sulla falsariga di linegraf

@fsurfing

ho scaricato il nuovo codice , devo dire che la pie si presenta molto bene. Linechart ha fatto uscire il mio lato 'trader'!! Mi chiedevo se pensi di implementare , oltre che la media dei dati plottati anche la possibilità di media media mobile e la scala logaritmica dell'asse delle ordinate, sarebbe fantastico x costruire software di analisi tecnica.
« Ultima modifica: 12 Luglio 2011, 05:33:30 da andy60 »

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Ultima versione di linegraf
« Risposta #36 il: 12 Luglio 2011, 07:25:24 »

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Ultima versione di linegraf
« Risposta #37 il: 12 Luglio 2011, 22:42:53 »
Grazie andy.  :2birre:
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Ultima versione di linegraf
« Risposta #38 il: 13 Luglio 2011, 07:15:37 »
Grazie andy.  :2birre:

tengo moltissimo alle tue impressioni, nel caso apriamo un thread chiamandolo Google Chart Project, per lavorare su idee comuni.

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Ultima versione di linegraf
« Risposta #39 il: 18 Luglio 2011, 09:38:30 »
tornu ci sei? ahahahahahahaha :-\ :rotfl:

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Ultima versione di linegraf
« Risposta #40 il: 19 Luglio 2011, 21:01:45 »
tornu ci sei? ahahahahahahaha :-\ :rotfl:
Ciao andy, ci sono, ci sono..... :sleepy:
purtroppo o meglio così (dubbio amletico  ???) il lavoro la fa da padrone, la stanchezza si fà sentire e non mi lascia molto tempo
da dedicare ai miei interessi personali. Comunque rubando qualche ora al sonno mi sto dedicando a fare prove con GoogleChart,
linegraf e gridbox, con milio che mi stupisce ogni giorno con una nuova implementazione.
Comunque ci sentiremo a breve (si fa per dire...) per qualche approfondimento su GoogleChart.
 :ciao:
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Ultima versione di linegraf
« Risposta #41 il: 19 Luglio 2011, 23:02:19 »
tornu ci sei? ahahahahahahaha :-\ :rotfl:
Ciao andy, ci sono, ci sono..... :sleepy:
purtroppo o meglio così (dubbio amletico  ???) il lavoro la fa da padrone, la stanchezza si fà sentire e non mi lascia molto tempo
da dedicare ai miei interessi personali. Comunque rubando qualche ora al sonno mi sto dedicando a fare prove con GoogleChart,
linegraf e gridbox, con milio che mi stupisce ogni giorno con una nuova implementazione.
Comunque ci sentiremo a breve (si fa per dire...) per qualche approfondimento su GoogleChart.
 :ciao:

ti aspetto con grande piacere, anche io sono incasinato, cmq qua ci si ritrova sempre :2birre: :ok: