2 figure nello stesso grafico

di il
5 risposte

2 figure nello stesso grafico

Qualcuno ha idea di come plottare sullo stesso grafico 2 figure tridimensionali del tipo .fig ??

Utilizzo il comando openfig per aprire i 2 file .fig (nominati come prova1 e prova2) però mi apre soltanto i file .fig separati e non uniti.

A=openfig('prova1');
hold on
B=openfig('prova2')
grid off
axis equal
hold off

5 Risposte

  • Re: 2 figure nello stesso grafico

    La cosa più semplice è plottare direttamente le figure invece di salvarle e poi cercare di caricarle.

    Ad ogni modo, hai provato a cercare nella documentazione on-line?
    potresti prova<re con quanto suggerito in questo articolo, con la differenza che, invece di usare gli handels dei subplot devi usare l'handle dell'axes nel quale vuoi inserire le due figure.

    [href]https://it.mathworks.com/matlabcentral/answers/101806-how-can-i-insert-my-matlab-figure-fig-files-into-multiple-subplots[/href]
  • Re: 2 figure nello stesso grafico

    Sì l'avevo visto ma non ho ottenuto quello che volevo.
  • Re: 2 figure nello stesso grafico

    Consigli oltre quello dato ? Anche utilizzando un riferimento a 2 figure su script
  • Re: 2 figure nello stesso grafico

    Ho provato nel seguente modo:
    f=openfig('prova1.fig');
    F=findobj(f,'Type','line');
    x_data=get(F,'xdata');
    y_data=get(F,'ydata');
    z_data=get(F,'zdata');

    g=openfig('prova2.fig');
    G=findobj(g,'Type','line');
    x1_data=get(G,'xdata');
    y1_data=get(G,'ydata');
    z1_data=get(G,'zdata');

    figure(1)
    xlabel('x');
    ylabel('y');
    plot(x_data,y_data,z_data);
    hold on
    plot(x1_data,y1_data,z1_data);


    ma mi dà come errore questo:

    Error using plot
    Invalid data argument.

    Error in importare_fig (line 61)
    plot(x_data,y_data,z_data);



    Qualche consiglio ???
  • Re: 2 figure nello stesso grafico

    Hai provato a fare ll debugging del codice?
    Cosa contengono le variabili x1_data ecc.?

    I dati usati per plottare i grafici sono (almeno lo erano nelle versioni precedenti) contenuti nelle properties "xdata", "ydata" e "zdata" dei "children" dell'axes.

    L'axes è (almeno lo erano nelle versioni precedenti) uno dei "children" della Figure o, più semplicemente, usando la funzione "gca" che ritorna l'handle dell'axes della figure "corrente"
    
    x_data=get(get(gca,'children'),'xdata');
    y_data=get(get(gca,'children'),'ydata');
    z_data=get(get(gca,'children'),'zdata');
    
Devi accedere o registrarti per scrivere nel forum
5 risposte