MATLAB ユーザー向けの簡単な「便利な」質問。プロット コマンドをループして、毎回異なるデータをプロットに渡します。データはたまたま関数呼び出しから生成され、反復ごとに異なるパラメーター値が渡されます。すべてを同じ軸にプロットするには、「ホールド」機能を使用しています。残念ながら、これは利用可能な ColorOrder および/または LineStyleOrder プロット パラメータを自動的に循環しないため、プロットされたすべての線はすべての反復で同じスタイルになります。
for i=1:nLines
[x_data y_data]=get_xy_data(param1(i),param2(i))
plot(x_data,y_data)
end
プロットされるすべての線は、デフォルトの青い線のスタイルになります。明白な解決策は、次のように、さまざまなライン スタイルと色のセル配列を前もって生成することです。
line_styles={'-','--','-*'}; %...etc
colors=colormap(jet(nLines));
次に、反復ごとにそれぞれにアクセスします。私が欲しいのは、ColorOrder から生成される既定の色と、LineStyleOrder から生成される既定のライン サイクリングへのアクセスです。次のようなことを試してみると:
get(gca,'LineStyleOrder')
これは、その軸で使用されているスタイルのみを返します(スタイルの1つで定義された軸でのみこれをテストしましたが、ポイントは、可能なすべての線スタイルを提供するわけではありません)。助けてください、ありがとう!
編集:私が探しているものをより具体的にしましょう。
figure; hold on;
for i=1:nLines
[xdata, ydata]=get_data(p1(i),p2(i)) % call some function to return x,y data
plot(xdata,ydata) % on i=1, default blue line
% function which tells matlab to get/set the next linestyle, color combination
nextStyle()
end
これが存在しない場合、それを書くのはそれほど難しくありませんが、車輪を再発明する前に最初に尋ねると思いました.