Hi.
I want to remove the legends for my vertical dash plots (data1 to data5!) . Here is my code:
figure (11)
for i=1:n1
plot(f{n1-i+1},Sx_dB{n1-i+1},'DisplayName',['Node ',num2str(n1-i+1)])
xlabel('Frequency (Hz)');
ylabel('Acceleration PSD (dB)');
title('Auto PSD')
xlim([0 round(max(w_Hz))+1])
legend
hold on
grid on
end
for j=1:n1-1
xline(w_Hz(j),'r--')
hold on
end
I would appreciate it if someone could help me with this.
Thanks,
Amir

 採用された回答

ANKUR KUMAR
ANKUR KUMAR 2021 年 3 月 17 日
編集済み: ANKUR KUMAR 2021 年 3 月 30 日

0 投票

for i=1:n1
plot_lin(i)=plot(f{n1-i+1},Sx_dB{n1-i+1},'DisplayName',['Node ',num2str(n1-i+1)])
xlabel('Frequency (Hz)');
ylabel('Acceleration PSD (dB)');
title('Auto PSD')
xlim([0 round(max(w_Hz))+1])
hold on
grid on
end
for j=1:n1-1
xline(w_Hz(j),'r--')
hold on
end
legend(plot_lin,{'data1 ','data 2','data 3','data 4','data 5','data 6'})
Make sure to have sufficient legend titles in the last line of the code.

5 件のコメント

Amir Hosein Shokouhy
Amir Hosein Shokouhy 2021 年 3 月 30 日
Hi Ankur,
Thanks for your response. I tried using this code:
figure (11)
for i=1:n1
h(i) = plot(f{n1-i+1},Sx_dB{n1-i+1},'DisplayName',['Node ',num2str(n1-i+1)])
xlabel('Frequency (Hz)');
ylabel('Acceleration PSD (dB)');
title('Auto PSD')
xlim([0 round(max(w_Hz))+1])
legend
hold on
grid on
end
for j=1:n1-1
xline(w_Hz(j),'r--')
hold on
end
legend(h);
The problem with redundant legends is solved. However, the colors of legends don't appear which is weird. what can I do?
Thanks,
Amir
ANKUR KUMAR
ANKUR KUMAR 2021 年 3 月 30 日
Just removed the 6th line from the code.
Updated the code in the main answer.
Amir Hosein Shokouhy
Amir Hosein Shokouhy 2021 年 3 月 30 日
I tried that too, it doesn't work.
ANKUR KUMAR
ANKUR KUMAR 2021 年 3 月 30 日
Since I do not have the data, I am generating plot for random data.
clc
clear
for i=1:4
plot_lin(i)=plot(linspace(0,2*pi,100),sin(i*linspace(0,2*pi,100)),'DisplayName',['Node ',num2str(4-i+1)])
xlabel('Frequency (Hz)');
ylabel('Acceleration PSD (dB)');
title('Auto PSD')
% xlim([0 round(max(w_Hz))+1])
hold on
grid on
end
for j=1:5
xline(j,'r--')
hold on
end
% legend(plot_lin,{'data1 ','data 2','data 3','data 4','data 5','data 6'})
legend(plot_lin)
Above code is working fine, and generating this below plot
Amir Hosein Shokouhy
Amir Hosein Shokouhy 2021 年 3 月 30 日
Thanks Ankur, I restarted my matlab and it's working now!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by