Non ho mai visto una trama come la seguente (la trama in (a)). È possibile?Matlab più lotti sovrapposti
risposta
Secondo la pagina di profilo di @Ander Biguri
Matlab può anche fare la vostra cena, se si sa come usarlo.
che risponde alla domanda, se questo è ancora possibile ;-)
Tutti abbiamo bisogno è una conoscenza di base del comando axes
- Il resto è solo ritocco per farlo sembrare bello. Diamo un'occhiata a questo:
Inizieremo con la creazione di alcuni dati di esempio:
t = 100:220;
x1 = -(10*(t-130)).^2;
x2 = -(10*(t-150)).^2;
x3 = -(10*(t-170)).^2;
Poi creeremo una cifra iniziale con uno sfondo bianco
fig = figure(1);
set(fig,'Color','w');
Ora noi può creare un nuovo oggetto assi e tracciare x1
su di esso:
ax(1) = axes('Position',[0.1,0.1,0.6,0.6]);
plot(ax(1),t,x1+10^4*rand(size(x1)),'-k',t,x1,'-r');
rimuoveremo il bo x attorno agli assi, quindi rimangono solo gli assi xey. Inoltre ridimensioniamo la trama, quindi avremo spazio sufficiente per gli altri due grafici. Impostiamo anche il colore su none, cioè trasparente.
set(ax(1),'Color','none');
set(ax(1),'Box','off');
set(ax(1),'Position',[0.1,0.1,0.6,0.6]);
Ora dobbiamo creare il secondo grafico. Si creano altri assi oggetto in una posizione che ci piace:
ax(2) = axes('Position',[0.2,0.2,0.6,0.6]);
plot(ax(2),t,x2+10^4*rand(size(x2)),'-k',t,x2,'-r');
set(ax(2),'Color','none');
set(ax(2),'Box','off');
e così via:
ax(3) = axes('Position',[0.3,0.3,0.6,0.6]);
plot(ax(3),t,x3+10^4*rand(size(x3)),'-k',t,x3,'-r');
set(ax(3),'Color','none');
set(ax(3),'Box','off');
E semplice, otteniamo qualcosa che non sembra nemmeno così male:
Non ho mai visto questo riferimento prima! Sono sbalordito e deliziato! : P –
Utilizzando multipla waterfall
trame, come suggerito Horchler:
%// create some sample data
t=10:20:110;
x=0:1:200;
Y=bsxfun(@(x,t) normpdf(x,t,20),x,t.'); %//' fix the code formatting on SO!!
%// Make a colormap to to set the colour of the lines
colormap([1 0 0;0 0 0]);caxis=[0 1];
%// Plot the first set of lines (red ones)
h1=waterfall(x,t,Y,zeros(size(Y)));
set(h1,'FaceColor','none','LineWidth',2) %// tweak the properties
hold on
%// Plot the second set of lines (black lines), just the red lines with some noise
h2=waterfall(x,t,Y+0.002*(rand(size(Y))-0.5),ones(size(Y)));
set(h2,'LineWidth',2)
hold off
view([16 28])
possiamo ottenere questo:
Questa è effettivamente una forma di [plot cascata] (http://en.wikipedia.org/wiki/Waterfall_plot). L'uso più famoso di questo tipo di trama potrebbe essere [questo dato pulsar] (http://www.itsokaytobesmart.com/post/96415755382/do-math-realizes-joy-division-did-ome-reale). Vedi ['waterfall'] (http://www.mathworks.com/help/matlab/ref/waterfall.html). Facendo questo con più assi sovrapposti (o fingendoli) ci vorrà un po 'di lavoro. – horchler