2016-05-03 1 views
0

J'ai deux tableaux que je veux tracer avec deux axes. L'un utilise un diagramme à barres et le second utilise une ligne régulière.Comment faire des graphiques avec des limites différentes correspondent à l'aide de plotyy

La gauche est la zone et la gauche la zone de changement en pourcentage. L'axe des X est la date de la mesure.

Mon problème est que le second axe ne correspond pas aux points du graphique à barres. Je veux que les points soient dans le même emplacement x, y de l'intrigue.

Code: 
date= [714262 724124 731733 734732 736209];  %matlab dates 
area = [ 60154 48444 38991 29487 24084];   % area 
area_change = [0 0.1947 0.3518 0.5098 0.5996 ]; %change in percent 

figure(7) 
[AX, T1, T2] = plotyy(date, area ,date, area_change, 'bar', 'line') 
set(TX(2), 'ycolor', 'r') 
set(TX(2),'YDir','reverse') %% reversed to show area decrease. 

Répondre

0

Je ne suis pas entièrement sûr de votre question. Votre code corrigé correspond à l'axe de la date:

date= [714262 724124 731733 734732 736209];  %matlab dates 
area = [ 60154 48444 38991 29487 24084];   % area 
area_change = [0 0.1947 0.3518 0.5098 0.5996 ]; %change in percent 

figure 
[AX, T1, T2] = plotyy(date, area ,date, area_change, 'bar', 'line') 
set(AX(2), 'ycolor', 'r') 
set(AX(2),'YDir','reverse') 

Ou souhaitez-vous la ligne de passer par le haut de la barre? Si c'est le cas, vous n'avez pas besoin de la valeur area_change.

date= [714262 724124 731733 734732 736209];  %matlab dates 
area = [ 60154 48444 38991 29487 24084];   % area 
area_change = [0 0.1947 0.3518 0.5098 0.5996 ]; %change in percent 

figure 
bar(date, area) 
hold on; 
plot(date, area)