0

matlab で同じグラフに複数の線をプロットしたいと思います。私はそれを行う最も簡単な方法を見つけることができません。現時点では、次のようなものがあります。

for j=1:n
plot(j,total,'*')
hold on
end

totalと同様に、各反復で変化しますj。これにより、必要なプロットが作成されますが、行の代わりに「*」が使用されます。これらのアスタリスクを各色の線で結びたいと思います。totalは長さのベクトルであるkため、各反復でkアスタリスクがあることに注意してください。

例えば:

反復 1: j=1、合計 = [ 0.2000 0.6000 0.2000]'

反復 2: j=2、合計 = [0.1000 0.6000 0.3000]'

反復 3: j=3、合計 = [0.2095 0.4476 0.3429]'

X 軸は 1,2,3 で、Y 軸は 0.2,0.1,0.2095 を線とアスタリスクで接続し、0.6,0.6,0.4476 を別の色の線とアスタリスクで接続する必要があります。

4

4 に答える 4

1

低レベルの関数を使用する方が簡単な場合があります。いくつかの軸を設定し、各反復で新しい線オブジェクトを生成します (これは通常、プロットを呼び出すよりも高速です)。以下のコードは、反復ごとに同じ軸セット上に新しい線を生成し、青から赤に徐々に色付けします。毎回 j から XVec を生成できると仮定しています。

myAx = axes;
for j=1:n
lineCol = [(j-1)/(n-1) 0 (1-((j-1)/(n-1)))];
line('XData',XVec(j,:),'YData',total,'color',lineCol,'linestyle','-','marker','*','Parent','myAx');
end

これにより、コマンドが不要になりholdます。

于 2013-07-20T16:26:12.257 に答える