Legend in plot using forloop

1 次查看(过去 30 天)
Sam
Sam 2020-3-27
回答: Peng Li 2020-3-27
Hello,
I am trying to plot the legend of 3 things here: temperature data (continuous blue line), the starting point of a sit period (green asterix), end point of a sit period (red asterix). The forloop runs over 2 specified values (4 and 34).
[row2,col2] = find(start_sit_periods);
for i = col2;
t = linspace(0,(((length(temp_i1)/fs)/60)/60),length(temp_i1));
figure(1)
ee = linspace(0,((length(x_i1)/fs)/60),length(x_i1));
subplot 411
plot(ee,temp_i1)
xlabel('Time (minutes)')
ylabel('Temperature (°C)')
hold on
plot(ee(start_sit_periods(1,i)),temp_i1(start_sit_periods(1,i)),'*g')
plot(ee(end_sit_periods(1,i)),temp_i1(end_sit_periods(1,i)),'*r')
legend('Leg temperature','Start sit','End sit')
subplot 412
plot(ee,abs(x_i1))
xlabel('Time (minutes)')
ylabel('Acceleration (m/s²)')
subplot 413
plot(ee,abs(y_i1))
xlabel('Time (minutes)')
ylabel('Acceleration (m/s²)')
subplot 414
plot(ee,abs(z_i1))
xlabel('Time (minutes)')
ylabel('Acceleration (m/s²)')
end
I've tried some things, but the legend stays wrongs.
Can anyone help?
Thanks!

采纳的回答

Peng Li
Peng Li 2020-3-27
Not quite sure what you meant by "the legend stays wrong", but please try this if my guess is correct.
figure(1)
ee = linspace(0,((length(x_i1)/fs)/60),length(x_i1));
subplot 411
p1 = plot(ee,temp_i1)
xlabel('Time (minutes)')
ylabel('Temperature (°C)')
hold on
p2 = plot(ee(start_sit_periods(1,i)),temp_i1(start_sit_periods(1,i)),'*g')
p3 = plot(ee(end_sit_periods(1,i)),temp_i1(end_sit_periods(1,i)),'*r')
legend([p1 p2 p3], {'Leg temperature','Start sit','End sit'})

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Legend 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by