[MatLab]

ila_901
Ciao a tutti, sto lavorando su una GUI ed ho un problema nel plotter diversi segnali uno sopra l'altro sulla stessa finestra. So che si può fare con subplot ma per il mio caso non va bene, in quanto l'utente può selezionare i canali da visualizzare (da 1 a 8). Come faccio a fare in modo che sia possibile sceglierne e visualizzarne da 1 a 8?

Risposte
apatriarca
Immagino che questo possa tornarti utile.

ila_901
No, perché fa solo in modo di sovrapporre i grafici.

apatriarca
Il problema è che non ho capito cosa vorresti fare esattamente.. Se non vuoi sovrapporli ma affiancarli, cosa c'è di sbagliato in subplot? Puoi calcolare il numero di subplots in modo dinamico dopo aver ricevuto il numero di canali da visualizzare..

ila_901
non so come si fa a fare un supbplot che vari in base al numero di canali selezionati da diverse listbox

apatriarca
Gli argomenti passati a subplot possono essere delle variabili e non solo delle costanti. Come vuoi che siano posizionati i diversi canali? Devono essere semplicemente uno sotto (o di fianco) l'altro oppure qualcosa di più complicato?

ila_901
in pratica io ho 8 listbox dalle quali selezionare uno dei canali oppure nessuno. qualsiasi e quanti siano quelli che vengono selezionati li vorrei uno sopra l'altro

apatriarca
Puoi fare il tutto in due passaggi successivi.. Prima fai un ciclo su tutti i canali e conti il numero di quelli che vanno visualizzati (in alternativa puoi memorizzare questo numero direttamente mentre l'utente fa la scelta di quali canali visualizzare). Di seguito fai un ciclo per ogni canale e mantieni un contatore di canali finora visualizzati. Se il particolare canale considerato deve essere visualizzato chiami subplot(n, 1, i) dove i è il contatore ed n il numero di canali visualizzati, quindi fai il plot e infine incrementi il tuo contatore, se non deve essere visualizzato non fai nulla e passi al successivo.

ila_901
Grazie mille!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.