Adding Horizontal (error) lines to a plot
Ältere Kommentare anzeigen
I have a plot (plot(e)) which shows displacement of 3 different positions (this plots well). I am trying to add horizontal error lines when the max value for each position is => 0.05%. However, I am unable to figure out how to have the error lines appear within my plot.
allData = xlsread('FILE NAME'); % File Directory (.xls)
ay = allData(:,3); % y array of hip
a1 = allData(1,3); % first cell of y array of hip
a2 = a1+(a1*0.05); % 0.05% error line
by = allData(:,4); % y array of knee
b1 = allData(1,4); % first cell of y array of knee
b2 = b1+(b1*0.05); % 0.05% error line
cy = allData(:,5); % y array of foot
c1 = allData(1,5); % first cell of y array of foot
c2 = c1+(c1*0.05); % 0.05% error line
e = [ay,by,cy];
if max(ay) >= a2 % Position greater than 0.05% error (a2)
plot( [a2(1) a2(end)], 'r'); % error reference line
elseif max(by) >= b2 % Position greater than 0.05% error (a2)
plot( [b2(1) b2(end)], 'r'); % error reference line
elseif max(cy) >= c2 % Position greater than 0.05% error (a2)
plot( [c2(1) c2(end)], 'r'); % error reference line
end
plot(e)
title('Sway (Backswing)');
ylabel('Position (mm)');
xlabel('Time (ms)');
legend('Hip', 'Knee', 'Foot');
1 Kommentar
Star Strider
am 24 Jul. 2017
Please introduce yourself to the
Code{}
radio button to format your code.
Antworten (1)
Star Strider
am 24 Jul. 2017
I don’t have your data file, so I can’t run your code.
I’m not certain what you intend with your plot statements. See if something like this works:
plot(xlim, [a2(1) a2(end)], 'r') % error reference line
Note that xlim is a (1 x 2) vector of the x-axis limits, so although I cannot test it with your data, this should work. It should also work if you re-define the x-axis limits.
4 Kommentare
Joseph Moon
am 25 Jul. 2017
Star Strider
am 25 Jul. 2017
I don’t see the need for the if block, especially since it is preventing the reference lines from plotting (the conditions are never met). If you want to plot the reference lines, this works:
figure(1)
plot(e)
hold on
plot(xlim, [a2(1) a2(end)], 'r'); % error reference line
plot(xlim, [b2(1) b2(end)], 'r'); % error reference line
plot(xlim, [c2(1) c2(end)], 'r'); % error reference line
hold off
title('Sway (Backswing)');
ylabel('Position (mm)');
xlabel('Time (ms)');
legend('Hip', 'Knee', 'Foot');
Also, ‘a2’ and the others are scalars, so there is no need to subscript them. I left the subscripts in, since I don’t know what you want to do, however they are not necessary.
Joseph Moon
am 26 Jul. 2017
Star Strider
am 26 Jul. 2017
My pleasure!
If my Answer helped solve your problem, please Accept it!
Kategorien
Mehr zu Annotations finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!