2016-05-03 2 views
0

У меня есть два массива, которые я хочу построить с двумя осями. Один использует бар-сюжет, а второй - с использованием обычной линии.Как сделать графики с разным лимитом с помощью plotyy

Левая рука yaxis - это область, а с левой стороны - площадь в процентах. Ось X - это дата измерения.

Моя проблема в том, что вторая ось не соответствует точкам графика штрихов. Я хочу, чтобы точки находились в одном и том же месте на графике.

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. 

ответ

0

Я не совсем уверен в вашем вопросе. Скорректированный код совпадает с датой:

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') 

Или вы хотите, чтобы линия проходила через верхнюю часть стойки? Если это так, вам не нужно значение 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)