Legend showing same symbol for loop plot

My legend is showing the same symbol for different data. My code is as follows
for i=1:size(obs,1)
x = V(:,1)'*obs(i,:)';
y = V(:,2)'*obs(i,:)';
z = V(:,3)'*obs(i,:)';
if(grp{i}=='Cancer')
plot3(x,y,z,'r+','LineWidth',2);
else
plot3(x,y,z,'ko','LineWidth',2);
end
end
Unrecognized function or variable 'obs'.
xlabel ('V1 modes')
ylabel ('V2 modes')
zlabel ('V3 modes')
legend('Cancer Patients', 'Normal Patients')
In the output, the legend is showins the 'r+' for both cancer patients and normal patients

 採用された回答

Adam Danz
Adam Danz 2023 年 4 月 29 日
編集済み: Adam Danz 2023 年 4 月 29 日

0 投票

Try this
for i=1:size(obs,1)
x = V(:,1)'*obs(i,:)';
y = V(:,2)'*obs(i,:)';
z = V(:,3)'*obs(i,:)';
if(grp{i}=='Cancer')
hc = plot3(x,y,z,'r+','LineWidth',2,'DisplayName','Cancer');
else
hn = plot3(x,y,z,'ko','LineWidth',2,'DisplayName', 'Normal');
end
end
legend([hc,hn])
If you still only see the Cancer group in the legend, check that grp contains character vectors that aren't 'Cancer'.

1 件のコメント

Cutie
Cutie 2023 年 4 月 29 日
編集済み: Cutie 2023 年 4 月 29 日
I works, thanks.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeGenomics and Next Generation Sequencing についてさらに検索

製品

リリース

R2021b

質問済み:

2023 年 4 月 29 日

編集済み:

2023 年 4 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by