1

これは単なるセットアップであるため、プログラムの最初の 2 つの部分は無視してかまいません。最初の選択肢が表示される部分に進むことができます。だから私がやろうとしているのは、FIFAチームと彼らが持っているポイントの量の棒グラフを作ることです. データセットは 50x9 の行列です。列 4 のすべての行 (ポイントの量) をグラフ化しようとしていますが、エラーが発生し続けます。私は棒グラフをやったことがないので、これがどのように機能するのかわかりません。皆さんからの情報をお待ちしております。

fprintf('*loading dataset...\n');
fprintf('*analyzing dataset...\n');
data=dataset('File', 'thegrid2.txt', 'Delimiter', ',');
[rows cols] = size(data);

choice= menu('What would you like to see master?:', 'Graph 1', 'Graph 2', 'Graph 3', 'OR Graph 4')

if choice== 1
    x= 1:1:50;
    y= data(1:rows, cols-5);
    bar(x,y)
    title([ 'Countries vs. the amount of points: '])
    set(gca, 'Xtick', 1:1:50);
    set(gca,'XTickLabel', {'ESP','GER','ARG','CRO','POR','COL','ENG','ITA','NED','ECU','RUS','CIV','GRE','MEX','SUI','BEL','URU','FRA','BRA','DEN','BIH','GHA','CHI','SWE','CZE','MLI','MNE','USA','JPN','NOR','NGA','PER','HUN','ROU','ALG','VEN','UKR','PAN','IRL','SRB','TUN','KOR','PAR','TUR','ZAM','AUS','CRC','ALB','WAL','BFA'});
end
4

1 に答える 1

1

まず、プロットするラベルが 50 個 (!) ある場合ではbarhなく、使用してプロットします。bar次に、4 列目だけをプロットする必要がある場合は、 を使用しy= data(:,4);ます。例えば:

data=rand(50,5);
x= 1:1:50;
y= data(:,4);
barh(x,y)
title([ 'Countries vs. the amount of points: '])
set(gca, 'Ytick', 1:1:50);
set(gca,'YTickLabel', {'ESP','GER','ARG','CRO','POR','COL','ENG','ITA','NED','ECU','RUS','CIV','GRE','MEX','SUI','BEL','URU','FRA','BRA','DEN','BIH','GHA','CHI','SWE','CZE','MLI','MNE','USA','JPN','NOR','NGA','PER','HUN','ROU','ALG','VEN','UKR','PAN','IRL','SRB','TUN','KOR','PAR','TUR','ZAM','AUS','CRC','ALB','WAL','BFA'});
ylim([0 51])

ここに画像の説明を入力

于 2013-05-07T04:34:44.193 に答える