Evidenziare punti su un grafico 3D

di il
2 risposte

Evidenziare punti su un grafico 3D

Buongiorno, sono nuova e ho bisogno di una mano, forse sarà una cosa banale, ma non riesco a venirne fuori.
Ho 3 matrici 300x300 che plottate con surf mi generano una superficie 3D. Su questa figura vorrei evidenziare dei punti di cui conosco le 3 coordinate nello spazio. Come posso fare?
Vi ringrazio in anticipo per l'aiuto

2 Risposte

  • Re: Evidenziare punti su un grafico 3D

    La cosa più semplice che puoi fare è usare al funzione "plot3":
    [*] specifica le coordinate del punto
    [*] scegli come marker o (la lettera "o")
    [*] assegna un colore al marker con l'opzione "markerfacecolor"

    Prima della chiamata alla funzione plot3 devi settare "hold on" in modo che il punto venga aggiunto alla superficie che hai già plottato.

    In alternativa potresti plottare un segmento, sempre con la funzione plot3.

    Di seguito una possibile implementazione:
    
    [x,y,z]=peaks(33);
    
    surf(x,y,z)
    
    hold on
    
    plot3(x(23,23),y(23,23),z(23,23),'o','markerfacecolor','r')
    
    plot3([x(13) x(13)],[y(13) y(13)],[-10 10],'-','linewidth',3,'color','r')
    
  • Re: Evidenziare punti su un grafico 3D

    Grazie mille! non avevo pensato ad usare la funzione plot3. Ora funziona tutto alla grande
Devi accedere o registrarti per scrivere nel forum
2 risposte