2015-02-21 2 views
1

Я пытаюсь создать график xy с двумя y-осями. У меня есть три набора данных скорости. Im пытается создать график с одной осью y, показывая изменение скорости, а другая ось y показывает расстояние. См. Прикрепленное изображение. Однако каждый набор данных был взят в одном положении, как показано на оси х. Как это сделать?XY Участок с двумя y-осями Matlab

Desired xy plot. You can see there are three curved lined representing the velocity data recorded. The y axis on the left shows the variation of velocity. The y axis on the left shows distance and the x axis shows the position where the data was recorded, ie 1,2 or 3.

С уважением, Иер

+0

не является ось х в вашей картине скорость? – knedlsepp

+0

Нет оси x - это просто позиция, в которой я записал данные. Я не знаю, как связать это с моими данными скорости. – Jerry

+0

Но что же означает выпуклость? Увеличенная скорость? Затем скорость IS по оси X (+ смещение для каждого ввода данных) – knedlsepp

ответ

0

Является ли это то, что вы хотите?

x1 = 1:10;    %// example x1 data 
y1 = x1.^2;   %// example y1 data 
x2 = 5:12;    %// example x2 data 
y2 = sqrt(x2);   %// example y2 data 
plotyy(x1,y1,x2,y2) %// plot y1 as a function of x1, and y2 as a function of x2 

Проверить plotyy documentation для вариантов.

enter image description here

+0

Нет, потому что вы связываете данные с осью x. то есть y является функцией x. В моем случае x - это просто автономное значение, которое покажет позицию, в которой были записаны данные. Либо позиция 1,2 или 3. Вы понимаете, где моя проблема сейчас? – Jerry

+0

также я попробовал plotyy, но я просто получаю либо точку, либо вертикальную линию, когда я пытаюсь построить данные против x – Jerry

+1

Нет, я действительно не понимаю. У вас есть три кривые, каждая из которых соответствует скорости. Тогда у вас также есть ось скорости. И есть вторая вертикальная ось. Я не могу это понять, извините –

0

Вы можете нормализовать ваши данные по скорости и сюжет, который в различных рентгеновских местах. Однако, как только ваши изменения скорости слишком велики, ожидайте, что кривые будут перекрываться.

% define the x locations: 
xloc = [1 2 3]; 

% set up dummy velocity data: 
y = linspace(0,1,101); 
phi = linspace(0,pi,101); 

vel(1,:) = sin(phi).*0.1; 
vel(2,:) = sin(phi).*0.2; 
vel(3,:) = sin(phi).*0.3; 

% normalize with the global max velocity 
vel_nondim = vel ./ max(max(vel)); 

% plot, using the defined x-locations 
hold on 
plot(xloc(1) + vel_nondim(1,:), y, 'g') 
plot(xloc(2) + vel_nondim(2,:), y, 'b') 
plot(xloc(3) + vel_nondim(3,:), y, 'r') 

% x limits and ticks 
xlim([0 4]) 
set(gca,'XTick',[1 2 3]) 

И вы будете в конечном итоге с этим сюжетом:

xlocplot

Смежные вопросы