Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: inserire grafico

  1. #1
    Utente di HTML.it L'avatar di oldfox
    Registrato dal
    Mar 2012
    Messaggi
    50

    inserire grafico

    ciao a tutti...
    sto imparando le basi di html (da autodidatta),
    ma adesso mi sorge un problemuccio....

    ho realizzato (con non poca fatica) un sistema che mi genera dei dati in formato excel compatibile (.csv) ed in automatico me li deposita su un server ftp accessibile tramite autenticazione da un utente.

    questi sono semplici dati del tipo data/ora e valore

    per fare una cosa carina,
    volevo creare una pagina web sulla quale poter generare un grafico a linee
    prendendo come origine i dati in oggetto (magari ad intervalli selezionabili)
    e se riesco vorrei anche poter far esportare la tabella excel...

    ma mi sono completamente perso....

    chi mi da un input?
    grazie

  2. #2
    Ciao

    solo con html non riesci, conosco queste 3 strade ma sicuramente ci saranno suggerimenti migliori:

    1) con php (ma qualsiasi altro linguaggio lato server va bene), hai la possibilità di leggere i tuoi dati e metterli sotto forma di grafico

    es. qui hai un esempio link, puoi far ricaricare ogni tot. secondi la pagina e avere il grafico allineato con i dati.

    2) filmati flash (io uso swish che genera file swf) che puoi incorporare in pagine html

    es. altro esempio link, in questo caso non ricarichi la pagina ma è flash che ogni tot. secondi legge e rielabora il grafico

    3) esistono varie risorse in rete (puoi trovare degli spunti link ) dove trovare risorse flash parametrizzabili che puoi adattare alle tue esigenze.

  3. #3
    Utente di HTML.it L'avatar di oldfox
    Registrato dal
    Mar 2012
    Messaggi
    50
    ciao
    ho integrato java ma
    non riesco a modificare questo codice in modo da far pescare i dati per costruire il grafico, prendendoli da un pc a cui si accede da remoto tramite autenticazione utente (ho un ip statico)

    ecco il codice
    codice:
      
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
            <title>amCharts Example</title> 
            <link rel="stylesheet" href="style.css" type="text/css">
            <script src="javascript/amcharts.js" type="text/javascript"></script>
            
            <script type="text/javascript">
            
            // declaring variables
            var chart;
            var dataProvider;
            
            // this method called after all page contents are loaded
            window.onload = function() {
                createChart();            
                loadCSV("data.txt");  
            }
            
            // method which loads external data
            function loadCSV(file) {
                if (window.XMLHttpRequest) {
                    // IE7+, Firefox, Chrome, Opera, Safari
                    var request = new XMLHttpRequest();
                }
                else {
                    // code for IE6, IE5
                    var request = new ActiveXObject('Microsoft.XMLHTTP');
                }
                // load
                request.open('GET', file, false);
                request.send();
                parseCSV(request.responseText);
            }
            
            // method which parses csv data
            function parseCSV(data){ 
                //replace UNIX new lines
                data = data.replace (/\r\n/g, "\n");
                //replace MAC new lines
                data = data.replace (/\r/g, "\n");
                //split into rows
                var rows = data.split("\n");
                // create array which will hold our data:
                dataProvider = [];
                
                // loop through all rows
                for (var i = 0; i < rows.length; i++){
                    // this line helps to skip empty rows
                    if (rows[i]) {                    
                        // our columns are separated by comma
                        var column = rows[i].split(",");  
                        
                        // column is array now 
                        // first item is date
                        var date = column[0];
                        // second item is value of the second column
                        var value1 = column[1];
                        // third item is value of the fird column 
                        var value2 = column[2];
                        
                        // create object which contains all these items:
                        var dataObject = {date:date, value1:value1, value2:value2};
                        // add object to dataProvider array
                        dataProvider.push(dataObject);
                    }
                }
                // set data provider to the chart
                chart.dataProvider = dataProvider;
                // this will force chart to rebuild using new data            
                chart.validateData();
            }
            
            // method which creates chart
            function createChart(){
                // chart variable is declared in the top
                chart = new AmCharts.AmSerialChart();
                // here we tell the chart name of category 
                // field in our data provider.
                // we called it "date" (look at parseCSV method)
                chart.categoryField = "date";
                
                // chart must have a graph
                var graph = new AmCharts.AmGraph();
                // graph should know at what field from data
                // provider it should get values.
                // let's assign value1 field for this graph
                graph.valueField = "value1";
                // and add graph to the chart
                chart.addGraph(graph);            
                // 'chartdiv' is id of a container 
                // where our chart will be                        
                chart.write('chartdiv');
            }
            </script>
        </head>
        <body style="background-color:#EEEEEE">
            <div id="chartdiv" style="width:600px; height:400px; background-color:#FFFFFF"></div>
        </body>
    </html>
    il problema è qui:
    loadCSV("data.txt"); (se il file data.txt è sul sito tutto ok....ma...)

    come faccio ad indirizzarlo alla cartella su pc (sempre online) e ad autenticarsi per entrare e selezionare il file?

  4. #4
    Ciao

    cancella i miei suggerimenti... non rispondono alle tue esigenze.

    Se non ho capito male vorresti che l'applicazione dal sito legga sul tuo pc i dati per elaborare il grafico.

    Se il problema è questo potresti risolverlo con upload a intervalli regolari dal tuo pc al sito (visto che questa soluzione ti funziona già).

    Da una prima ricerca il programma autoFTP dovrebbe svolgere una funzione del genere.

    Spero di non dire castronerie avendo frainteso il problema già dall'inizio...

  5. #5
    Utente di HTML.it L'avatar di oldfox
    Registrato dal
    Mar 2012
    Messaggi
    50
    il problema è che non voglio intasare il sito perche avrei almeno 100 utenti
    e dati che si incrementano ogni giorno...

    per questo preferivo lasciarli su un pc remoto....


    mi basterebbe un comando che dice allo script che l'origine dei dati sta su quel percorso ftp.......

  6. #6
    Si, adesso ho capito...

    se scopro qualcosa ben volentieri... la mia farina non è sufficiente

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    ciao oldfox,

    ricorda che per postare codice sul forum devi sempre usare il tag [CODE] [/CODE]

    puoi rispiegare la questione?

    prima parli di dati sul client (ai quali non si può accedere)
    e poi di caricarli via ftp ... 100 utenti...

    se spieghi di più quel che devi fare magari ti si da un'indirizzo migliore

  8. #8
    Utente di HTML.it L'avatar di oldfox
    Registrato dal
    Mar 2012
    Messaggi
    50
    allora io ho un programma su un pc che mi genera dei file giornalieri
    contenenti dati del tipo giorno/valore
    sono file di estensione csv con 2 colonne e varie righe con dati
    giorno su una colonna e valore sull'altra

    tramite web devo creare una pagine
    accedendo alla quale l'utente puo' visualizzare un grafico
    generato con tali valori

    ora vorrei che i valori restassero sul pc
    e che lo script che genera il grafico punti al percorso sul pc remoto dove
    sono i dati

  9. #9
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Originariamente inviato da oldfox
    ora vorrei che i valori restassero sul pc
    e che lo script che genera il grafico punti al percorso sul pc remoto dove
    sono i dati
    qui qualcosa non torna

    quale pc remoto?

  10. #10
    Utente di HTML.it L'avatar di oldfox
    Registrato dal
    Mar 2012
    Messaggi
    50
    un mio pc
    che ha un ip statico ed è sempre online


    il sito web pero' risiede su tophost

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.