Matlab选择随机颜色进行绘图

Jes*_*ssy 21 matlab plot

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

plot(x,y,'-rs','LineWidth',1,...
      'MarkerEdgeColor','k',...
      'MarkerFaceColor','g',...
      'MarkerSize',5);
Run Code Online (Sandbox Code Playgroud)

gno*_*ice 42

您可以让PLOT自动为您选择线条颜色.如果所有6个矢量长度相同,则可以将x和y坐标放入N×6矩阵中X,Y然后将这些坐标传递给PLOT.每列将使用不同的颜色:

plot(X,Y,'-s');  %# Plots lines with square markers
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

  • +1用于使用色彩映射.我发现纯色随机颜色在显示方面的表现非常差 - 颜色之间的对比度通常不足,颜色太浅或太暗.沿着一个标准颜色图均匀地采样可以提供更加愉悦和可读的颜色组合. (2认同)