Graficare dati dividendoli in base a un terzo parametro

di il
1 risposte

Graficare dati dividendoli in base a un terzo parametro

Ciao a tutti,
sto cercando di realizzare dei grafici per cui ho il vettore x e y e un terzo vettore che contiene una temperatura particolare. (tutti e tre hanno la stessa lunghezza)
Quello che vorrei fare è uno scatter(x;y) in cui se la temperatura è compresa tra a e b il marcatore è nero, se la temperatura è compresa tra b e c il marcatore diventa blu, se la temperatura è compresa tra c e d il marcatore diventa verde, e così via per almeno 5 o sei fasce di temperatura.

il programma che ho realizzato io tuttavia realizza tutti i marcatori del colore della prima condizione imposta.

for i=1:length(y)
if 50<temperatura(i)<=60
scatter(x(i),y(i),'b','filled')
hold on
elseif 40<temperatura(i)<=50
scatter(x(i),y(i),'r','filled')
hold on
elseif 30<temperatura(i)<=40
scatter(x(i),y(i),'g','filled')
hold on
end
end

Qualcuno mi sa spiegare perché mi risultano tutti neri? e soprattutto qualcuno sa spiegarmi come posso differenziare i marcatori in base alla temperatura?

Grazie mille!

1 Risposte

  • Re: Graficare dati dividendoli in base a un terzo parametro

    figure
    hold on
    for i=1:length(y)
    if and(50<temperatura(i),temperatura(i)<=60)
    scatter(x(i),y(i),'b','filled')
    elseif and(40<temperatura(i),temperatura(i)<=50)
    scatter(x(i),y(i),'r','filled')
    elseif and(30<temperatura(i),temperatura(i)<=40)
    scatter(x(i),y(i),'g','filled')
    end
    end
    hold off
Devi accedere o registrarti per scrivere nel forum
1 risposte