2013-01-11 11 views
5

Ho un problema strano (e probabilmente semplice da risolvere). Ho provato a tracciare (usando il pannello) due grafici:Seconda sottotrama che scompare

a1 = subplot(2,1,1, 'Parent', handles.cpd_plot, 'Position', [0.1, 0.4, 0.85, 0.45]); 
a2 = subplot(2,1,2, 'Parent', handles.cpd_plot, 'Position', [0.1, 0.1, 0.85, 0.15]); 

ma dopo aver tracciato a2, a1 scompare. Vedo che è un problema con la posizione, quando sollevo un a1 un po '('Position', [0.1, 0.5, 0.85, 0.45]) funziona (ma deve essere> = 0.5). Dov'è il problema? Grazie!

+0

non si verifica anche se si ordine di sottotrame invertire? – bla

+0

no, se ordino a2 e poi a1 va bene ... – Art

+2

sì, questo è quello che pensavo ... quindi risolto il problema. Vuoi ancora sapere perché è successo in primo luogo? – bla

risposta

5

Quindi è probabile che succeda perché subplot cancella un grafico quando si sovrappone al grafico precedente. Sospetto che ciò avvenga a causa di valori di posizioni in conflitto tra il numero di tile di sottotrama (ad esempio sottotrama (2,1,1) ecc.) Che ha la sua posizione predefinita e la posizione che hai inserito.

Così, invece di usare subplot(m,l,p, 'position', [ a b c d]), è possibile risolvere questo problema utilizzando subplot solo con le informazioni di posizione come segue:

subplot('position', [0.1, 0.4, 0.85, 0.45]) 
plot(1:10); 
subplot('position', [0.1, 0.1, 0.85, 0.15]) 
plot(1:10); 

enter image description here

Problemi correlati