MATLAB Colorare un X/Y plot con una matrice RGB

di Anonimizzato9820 il
8 risposte
Salve a tutti!

Qualcuno di voi sa darmi un suggerimento per colorare un plot Y/X in maniera differenziale in base ai valori di Y?

Ho generato una matrice mX3 RGB associata alle intensita' nel vettore mX1 Y e vorrei che la linea del grafico generato con il comando plot fosse colorata in base a questa matrice e che la colorbar visualizzata sia corrispondente a questa colorazione

Grazie a tutti!!!

8 Risposte

  • Il grafico è una linea continua o a punti?
    Il colore deve anche "sfumare" tra un intervallo e l'altro o il passaggio deve essere netto?
  • No e' un line plot...in pratica voglio colorare i valori di Y ( positivi e negativi) in maniera differenziale con uno specifico color coding RGB che ho creato in Excel
  • Dimenticavo...il colore deve sfumare tra un punto e l'altro...io ho cercato di farlo manualmente modificando le colonne della mia matrice RGB
  • Non è un line plot cosa vuol dire? hai dei punti distanziati?
    Dai un'occhiata alla funzione scatter, se è simile a quello che vuoi fare tu.
  • Intendevo dire che devo fare un grafico a linea continua
  • Che io sappia non esiste una funzione che faccia quello che chiedi. Anche perché non mi sembra che abbia un'utilità come nel caso in cui si voglia rappresentare un'"altezza" in un grafico 2D, come nel caso della funzione scatter.
    Credo tu debba simulare la linea continua con dei punti molto ravvicinati o con un ciclo for a cui associ all'interno del ciclo un colore, che sia associato al valore di y (quindi la matrice dei colori dovrà già prevedere la sfumatura), oppure, che forse è più semplice, con la funzione scatter, che prevede già anche la colorbar. Devi fare in modo che i marker siano pallini pieni e che siano molto ravvicinati. Questo metodo ti da problemi nel caso in cui ci siano dei tratti molto ripidi all'interno della funzione che devi rappresentare.
  • Ho capito . Grazie mille!
  • Figurati!
Devi accedere o registrarti per scrivere nel forum
8 risposte