-1

50 ポイントのデータ セットがあり、それを 3 つのクラスターにクラスター化してプロットしました。これらのクラスターにラベルを付ける方法..

    symbs= {'r+','g.','bv','m*','ko'};
    figure;
    hold on
    for i = 1: length(I)
    plot(X(I(i),1),X(I(i),2),symbs{i},'MarkerSize',20)
    plot(X(C==i,1),X(C==i,2),symbs{i})

    end

プロットされたクラスターにラベルを付けたいだけです

4

1 に答える 1

2

アプローチ 1:凡例を作成する

symbs= {'r+','g.','bv','m*','ko'};
figure;
hold on
for i = 1: length(I)
    plot(X(I(i),1),X(I(i),2),symbs{i},'MarkerSize',20)
    plot(X(C==i,1),X(C==i,2),symbs{i})
end

labels = {'Cluster 1','Cluster 2','Cluster 3','Cluster 4','Cluster 5'};
legend(labels);

各記号で 2 つのグラフィックス オブジェクトをプロットしているので、(おそらく) 正しく見えないことに気付くでしょう。凡例では、各記号が 1 回ではなく 2 回繰り返されます。これを解決するには、オブジェクト セットのいずれかのハンドルlegendを格納し、そのハンドルを の最初の引数として使用します。

for i = 1: length(I)
    h(i) = plot(X(I(i),1),X(I(i),2),symbs{i},'MarkerSize',20);
    plot(X(C==i,1),X(C==i,2),symbs{i})
end

labels = {'Cluster 1','Cluster 2','Cluster 3','Cluster 4','Cluster 5'};
legend(h, labels(1:length(h)) );

アプローチ 2:注釈を使用する

注釈を使用すると、矢印を描いたり、識別情報を含むテキスト ボックスをプロットに配置したりできます。オプションと例については、リンクを参照してください。

于 2012-05-28T08:06:34.463 に答える