2012-04-25 16 views
1

私は以下の形式のデータを.txtファイルに持っています。d次元データをプロットする

नोभेम्बर 
[0.013597779962868256, -0.10849757437254635, -0.15999846585159766, -1.2417475384869558, -0.6802765400695919, 0.44552601044477186, 0.10820787964125786, -1.584483680411645, 0.2007759414522207, -0.7101547556233192] 
बाट 
[0.7488351202673913, 0.3645634610332536, 0.1937027124201285, -0.10361011958447905, 0.48222626651261347, 0.36795608937720814, -0.06307932558713457, -0.05626217864435294, -0.5245206209054951, 0.40256760017279525] 
रूपमा 
[0.06077674960453302, 0.2570556052636379, 0.3347552495487344, -0.10512580657948888, 0.10414134700640766, 0.19736087970834254, 0.09207914995816116, 0.19904934221006, 0.061402311347008, -0.11409541813280075] 
बोर्डमा 
[0.5200111891848155, -0.14947230042320633, 0.7351562111464331, -0.7542450932215059, 1.4477558941048831, -0.6235133303135835, -0.7781689512584442, -0.057886889872348815, 0.10625424653444066, 0.9777761194886687] 
आउनु 
[1.0596966006985387, 0.24909505933749815, 0.5181999691383957, -0.01983089009044503, -1.4106664226234644, -0.020542297788816014, -0.7822719255911348, 0.42914674116391344, -0.5753257725556651, -0.9141151600890186] 

नोभेम्बरはデータポイントであり、数値はそのベクトル表現です。私はそれらの表象を座標として取り、それらの間の関係を見つけるためにプロットしたいと思います。それらをプロットする可能性は何か。何らかの提案されたツールは本当に感謝しています。

+2

ここではいくつかの潜在的な解決策:http://stackoverflow.com/a/6775352/636656 –

+0

なぜこれほど多く持っていますタグ?これらのパッケージのいずれかまたはすべてにソリューションを必要としていますか?どうしてPython、Ruby、C、fortranを使わないのですか? – Spacedman

+0

私はそれらのいずれかからの解決策が欲しいです。私はそれらに取り組んで快適に感じる。他のドメインからのソリューションも歓迎されます。 – thetna

答えて

2

私のGUIは、項目名のためにそのフォントを扱うことができませんでしたが、私は彼らの名前場合:A、B、C-C、D、Eを、あなたは多次元の機能を表示するには、平行座標プロットを使用することができます。

require(MASS) # an R package 
parcoord(data.frame(a=a,b=b,cc=cc,d=d,e=e), col=1:5) 

enter image description here

+0

私が誤解されていないならば、OPはそれを逆にしていると思う:それぞれ10次元の5つのインスタンス(行列を転置する必要があるので) – Amro

+0

非常に良いかもしれない。私はその説明からわかりません。私はこれを持って来てくれたことについての質問者に感謝しています。私はすでに今日の研究の質問にそれを適用しました。 –

1

ここにはMATLABソリューションがあります。

まず、データを読みます。

%# you might need to normalize the attributes 
%#data = zscore(data); 

plot(data');   %'# plot lines 
set(gca, 'XTick',1:numDim, 'XGrid','on') 
xlabel('Features'), ylabel('Feature value') 
title('Parallel Coordinates') 
legend(labels)   %# show legend of labels 
:MATLABは、Unicodeテキストを読み取ることができるが、それは我々が parallel coordinatesを使用して、データをプロットすることができ some issues displaying it in GUI(私はちょうどなど、にPoint1 /ポイント2とラベルを交換しています。)

%# read file lines 
fid = fopen('data.txt', 'rt', 'native', 'UTF-8'); 
C = textscan(fid, '%s', 'Delimiter','\n'); 
fclose(fid); 
C = C{1}; 

%# split into labels/data 
labels = C(1:2:end); 
data = cellfun(@str2num, C(2:2:end), 'UniformOutput',false); 
data = cell2mat(data); 

%# HACK: MATLAB has issues displaying unicode text 
labels = num2str((1:size(data,1))', 'Point %d'); 

次を持っています

:あなたはStatistics Toolboxのへのアクセス権を持っている場合は

parallel coordinates

、することができますvisualize multivariate dataは、多くの技術を使用して

%# parallel coordinates (similar the above) 
parallelcoords(data, 'Group',labels) 

%# glyph plot (stars) 
glyphplot(data, 'obslabels',labels, 'glyph','star') 

glyphplot_star

%# glyph plot (Chernoff faces) 
glyphplot(data, 'obslabels',labels, 'glyph','face') 

glyphplot_face

%# Andrews curves 
andrewsplot(data, 'Group',labels) 

andrewsplot

関連する問題