Assign different colors to multiple plots without loop

17 ビュー (過去 30 日間)
Saeid
Saeid 2018 年 12 月 8 日
コメント済み: Saeid 2018 年 12 月 8 日
I have one array x and a multi-column array Y and would like to plot all Y#s on the same diagram against X and assign each plot a different color, coming from the color array named ColorSpec (e.g. ColorSpec=[0 0 0; 1 0 0, ...]). Although using a loop is always an option but since this will happen multiple times in the code I would like to avoid a loop for brevity. Is this possible?

採用された回答

the cyclist
the cyclist 2018 年 12 月 8 日
Here is one way:
ColorSpec = [0 0 0;
1 0 0;
0 1 0;
0 0 1];
% Pretend data
x = sort(rand(3,1));
y = rand(3,4);
figure
ax = axes;
ax.ColorOrder = ColorSpec;
ax.NextPlot = 'add';
plot(x,y)
  4 件のコメント
the cyclist
the cyclist 2018 年 12 月 8 日
It is OK if ColorSpec has more rows than lines in the plot. The plot will just use the first rows as needed.
It is also OK if ColorSpec has fewer rows than lines in the plot. The plot will "recycle" colors from the beginning again.
Saeid
Saeid 2018 年 12 月 8 日
Oh, I didn't know that. That's pretty cool, thanks again!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLine Plots についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by