N 62-D ベクトルを持つ Nx62 行列と、ベクトルのラベルを持つ NX1 ベクトルがあります。62 次元空間にプロットしたときのこれらのクラスの動作を確認したいので、これらのベクトルをラベル付きでプロットしようとしています。ベクターは、前に引用した NX1 ベクターのラベルに従って 3 つのクラスに属します。
matlabでそれを行う方法は? plot(vector,classes) を実行すると、結果を分析するのが非常に奇妙になります。グラフにラベルを付ける方法は?
ラベル、ベクトル、およびプロットを取得するために使用しているコードは次のとおりです。
%labels is a vector with labels, vectors is a matrix where each line is a vector
[labels,vectors]=libsvmread('features-im1.txt');
3次元ベクトルをプロットするときは簡単です
a=[1,2,3]
plot(a)
そして、私は結果を得る
しかし、今では一連のベクトルと一連のラベルがあり、それらの分布を確認したいのですが、これらの各ラベルをプロットしたいだけでなく、それらのクラスも識別したいと考えています。matlabでそれを行う方法は?
編集: このコードはほとんど機能しています。問題は、ベクトルとクラスごとに、プロットが色を割り当てるという事実です。クラスごとに 1 つずつ、3 つの色と 3 つのラベルが必要です。
[class,vector]=libsvmread('features-im1.txt');
%the plot doesn't allow negative and 0 values in the label
class=class+2;
labels = {'class -1','class 0','class 1'};
h = plot(vector);
legend(h,labels{class})