Matlab Scatter Plot Color Scheme

时间:2016-01-15 22:57:24

标签: matlab plot

晚上好,
我还是matlab(和堆栈溢出)的新手 我有一组数据,我想用“情节”命令绘制 我有9天的数据,我想绘制 最好每天都有自己的颜色 但在网上看之后,Matlab只有8种预制颜色,其中2种是白色和黄色。 (并且黄色在白色背景上不会显示得太好)
我已经在网上看了一下并尝试使用RGB组合传递“color”命令,但这也打破了。

我不得不求助于将第一天和最后一天改为不同的形状,现在有效,但它不值得展示。 第一个数据点和最后一个数据点需要自己的颜色 +,X,*仅表示当天发生的启动次数。

附件是我的剧本。

非常感谢提前。里德

%--------------------------------------------------------  
% define Model_Point array  
%--------------------------------------------------------   
Point_model = [0.0112, 0.2147, 0.295, 0.0356, 0.0912, 0, 0, 0.0738, 0.2143, 0.0798, 0.0169, 0.089, 0, 0, 0.1644, 0.065, 0.2271, 0.0727];  

%---------------------------------------------------------  
% define Model_Neighborhood array  
%---------------------------------------------------------  
Neighborhood_model = [0.0573343, 0.422929, 0.609221, 0.667158, 0.820867, 0.580356, 0.487199, 0.56226, 0.325294, 0.249353, 0.184591, 0.214189, 0.159878, 1.07934, 2.48956, 0.26571, 0.470282, 0.221556];

%---------------------------------------------------------  
%plotting  
%---------------------------------------------------------  
plot(Point_model(1), Neighborhood_model(1), 'rp')  
hold on;  
plot(Point_model(2), Neighborhood_model(2), 'r+')  
plot(Point_model(3), Neighborhood_model(3), 'rx')  
plot(Point_model(4), Neighborhood_model(4), 'm+')  
plot(Point_model(5), Neighborhood_model(5), 'mx')  
plot(Point_model(6), Neighborhood_model(6), 'y+')  
plot(Point_model(7), Neighborhood_model(7), 'yx')  
plot(Point_model(8), Neighborhood_model(8), 'y*')  
plot(Point_model(9), Neighborhood_model(9), 'g+')  
plot(Point_model(10), Neighborhood_model(10), 'gx')  
plot(Point_model(11), Neighborhood_model(11), 'c+')  
plot(Point_model(12), Neighborhood_model(12), 'cx')  
plot(Point_model(13), Neighborhood_model(13), 'b+')  
plot(Point_model(14), Neighborhood_model(14), 'bx')  
plot(Point_model(15), Neighborhood_model(15), 'b*')  
plot(Point_model(16), Neighborhood_model(16), 'k+')  
plot(Point_model(17), Neighborhood_model(17), 'kx')  
plot(Point_model(18), Neighborhood_model(18), 'kp')  

hold on;  
plot(x, y, 'b-')  
xlabel('ILW [mm]');  
ylabel('ILW [mm]');  
title('Plot')
hold on;  
legend('y20150122','y20150129A','y20150129B','y20150211A','y20150211B','y20150313A','y20150313B','y20150313C','y20150317A','y20150317B','y20150320A','y20150320B','y20150325A','y20150325B','y20150325C','y20150326A','y20150326B','y20150423','Location','eastoutside')

再次感谢你!

2 个答案:

答案 0 :(得分:1)

而不是选择rgb值,您可以使用内置的matlab色彩映射,在色彩映射空间中生成N种颜色。

例如,如果使用clr = jet(18),您将获得一个18x3的rbg值矩阵,这些值通过喷射颜色空间(红色到蓝色)移动。

对于出版物,红色和蓝色将映射到相同的视觉灰度,因此您可能需要尝试像varycolor这样的包,您可以在mathworks网站上找到它。这为您提供了一个独特的rgb色彩映射,如果您打印黑白,它也不会映射到相同的灰度值。

另请参阅help colormap了解其他选项

答案 1 :(得分:0)

尝试

plot(x,y,'x','Color', [.9 .8 .7])  %% use your [r g b] values in the brackets

编辑:请注意,绘图命令的大多数MATLAB参数都以大写字母

开头

EDIT2:请注意,您可以使用标记字符串,例如' x'或者' o' o没有使用颜色。