Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    generare istogramma ....

    Salve a tutti e buone feste ....
    Volevo chiedervi se qualcuno di voi puo consigliarmi un tutorial (in italiano per piacere o in francese, il mio inglese e scarsissimo)
    devo generare un'istogramma.
    I dati sono recuperati nel swf tramite l'url cioe : istogramma_day.swf?day=8;17;24;27;28;29;29;33;34;5 5;68&day_1=12;17;18;21;23;24;25;27;35;45;57&day_7= 18;28;29;32;34;34;35;39;47;69;101


    spero di essere stato chiaro...

    grazie e a presto

    ciao

    luca

  2. #2
    mi hanno consigliato gentilmente su un'altro forum di fare cosi ...:

    *************
    ... i dati che hai inseriscili in un array.
    ti basterà solo un mc(dim esempio:20 per 1) che richiamerai con attachMovie all'interno di un ciclo for che terrà conto del numero delle variabili all'interno dell'array.
    in tal modo avrai tanti mc quanti sono gli elementi dell'array.
    cura la loro sistemazione sullo stage ed utilizza _yscale con valori che prelevi dall'array moltiplicati per un fattore di proporzionalità ....
    *************

    vi dico questo perche ho paura di non essermi spiegato bene nel mio post precedente ...
    quindi se qualcuno puo darmi un consiglio oppure un link dove ci siano tutorial o esempi ... completi dove esercitarmi ...

    grazie ancora e mi scuso di aver postato nuovamente per lo stesso prob.

    ciaooo

    luca

  3. #3
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Che versione del flash stai usando? (così posso farti un esempio).

  4. #4
    grazie negatyve,

    ho la versione flashMx prof. 7.1, e anche la versione precedente ... mx


    ciao luca

  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Esempio creato al volo. I giorni li devi passare così:

    codice:
    istogramma_day.swf?tot=3&day_1=8;..etc..;68&day_2=12;..etc..;57&day_3=18;..etc..;101
    Poi in flash provi (senza fare nient'altro):

    codice:
    tot = "3";
    day_1 = "8;17;24;27;28;29;29;33;34;55;68";
    day_2 = "12;17;18;21;23;24;25;27;35;45;57";
    day_3 = "18;28;29;32;34;34;35;39;47;69;101";
    function createFrame(width, height)
    {
    	var mc = this.createEmptyMovieClip("frame_mc", 1);
    	mc.lineStyle(1, 0, 100);
    	mc.lineTo(width, 0);
    	mc.lineTo(width, height);
    	mc.lineTo(0, height);
    	mc.lineTo(0, 0);
    }
    function createButtonBase(clip)
    {
    	clip.lineStyle(0, 0, 100);
    	clip.beginFill(0xFFCC00, 100);
    	clip.lineTo(80, 0);
    	clip.lineTo(80, 20);
    	clip.lineTo(0, 20);
    	clip.lineTo(0, 0);
    	clip.endFill();
    }
    function createBar(clip, width, height, col)
    {
    	clip.lineStyle(0, 0, 100);
    	clip.beginFill(col, 100);
    	clip.lineTo(width, 0);
    	clip.lineTo(width, height);
    	clip.lineTo(0, height);
    	clip.lineTo(0, 0);
    	clip.endFill();
    }
    function createInnerText(clip, text)
    {
    	clip.createTextField("testo", 1, 0, 0, 1, 1);
    	clip.testo.autoSize = "left";
    	clip.testo.text = text;
    	clip.testo._x = (clip._width / 2) - (clip.testo._width / 2);
    	clip.testo._y = (clip._height/ 2) - (clip.testo._height/ 2);
    }
    function createBars(data)
    {
    	var data_array = data.split(";");
    	var data_len = data_array.length;
    	var avail_space = (frame_wdt - 4) - ((data_len - 1) * 2);
    	var width = avail_space / data_len;
    	for(var i = 0; i < data_len; i++){
    		var mc = frame_mc.createEmptyMovieClip("bar" + i, i);
    		createBar(mc, width, Number(data_array[i]) * 2, 0xFF0000);
    		mc._x = (i * (width + 2)) + 2;
    		mc._y = frame_hgt - mc._height;
    		createInnerText(mc, data_array[i]);
    	}
    }
    function createButtons(days, x, y)
    {
    	for(var i = 1; i < days + 1; i++){
    		var mc = this.createEmptyMovieClip("button" + i, i + 100);
    		createBar(mc, 80, 20, 0xFFCC00);
    		mc._x = x + ((i - 1) * 100);
    		mc._y = y;
    		createInnerText(mc, "giorno " + i);
    		mc.id = i;
    		mc.onRelease = function()
    		{
    			this._parent.createBars(this._parent["day_" + this.id]);
    		}
    	}
    }
    function init()
    {
    	frame_wdt = 400;
    	frame_hgt = 300;
    	createFrame(frame_wdt, frame_hgt);
    	createButtons(Number(tot), 0, frame_hgt + 10);
    }
    init();

  6. #6

    grazie .... mille per la risposta

    stupendo e grazie mille per l'esempio che mi hai fatto, cerchero d'implementarlo subito in beta test ...

    i miei dati sono "passati" tramite per esempio ... :

    mio_istogramma.swf?$RES_OBJ_TENDANCY_FLASH_VISITE$


    buona serata ....

    luca

  7. #7

    grazie ma ... :(

    scusa non vorrei esagerare .... ma ho ancora un prob.
    cioe il tuo script funziona, solo che io passando i dati cosi : istogramma.swf?$RES_OBJ_TENDANCY_FLASH_VISITE$ ...
    sono costretto a chiamare i giorni day, day_1 e per ultimo day_7 ...

    come posso quindi modificare il tuo script ? e visto che ci sono, ma se non hai tempo ti capisco ... le tre informazioni mi servirebbero visualizzate assieme cioe in una sola schermata senza i bottoni ...

    ti chiedo ancora scusa ... ma con quello che mi hai fatto sono arrivato vicino a quello che mi serve ...

    ciao e buona serata

    luca

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.