Matlab选择随机颜色进行绘图

时间:2010-07-12 00:24:21

标签: matlab plot

我想要绘制6个向量。 我如何用不同的颜色(随机)制作每个图? 使用下面的代码,图表限制为所有六个向量的一种颜色。

plot(x,y,'-rs','LineWidth',1,...
      'MarkerEdgeColor','k',...
      'MarkerFaceColor','g',...
      'MarkerSize',5);

2 个答案:

答案 0 :(得分:42)

您可以让PLOT自动为您选择线条颜色。如果所有6个向量的长度相同,则可以将x和y坐标放入N-by-6矩阵XY,并将它们传递给PLOT。每列将使用不同的颜色:

plot(X,Y,'-s');  %# Plots lines with square markers

你也可以使用一些内置的colormaps来生成一组颜色,然后在分别绘制每一行时使用这些颜色。例如:

cmap = hsv(6);  %# Creates a 6-by-3 set of colors from the HSV colormap
for i = 1:6     %# Loop 6 times
  plot(X(:,i),Y(:,i),'-s','Color',cmap(i,:));  %# Plot each column with a
                                               %#   different color
end

答案 1 :(得分:4)

要创建随机颜色贴图,您可以执行以下操作

myMap = rand(nbColors, 3);
for i = 1:nbColors
  plot(X(:,i),Y(:,i),'-s','Color',myMap(i,:));
end

然而,正如我在对gnovice的回答中所说的那样,从色彩图中挑选颜色通常会提供更易读的颜色组合。

相关问题