我想绘制一个简单的散点图在MATLAB,带有标记的颜色从光谱到另一个的一端变化(例如,红色,橙色,黄色....蓝色,紫色)。
我的数据进行比较的水与水的质量河流的量,随着时间的推移(3简单列:时间,数量,质量)。 我想绘制X,数量VS质量Y的散点图,但与色彩进展随着时间的推移,这样就可以看到质量随着时间的进展。
我将需要产生很多这种类型的图表,所以如果我能找到一段代码,会为数据集的任何长度,那将是非常有益的工作。
提前非常感谢帮助Matlab的新手!
我想绘制一个简单的散点图在MATLAB,带有标记的颜色从光谱到另一个的一端变化(例如,红色,橙色,黄色....蓝色,紫色)。
我的数据进行比较的水与水的质量河流的量,随着时间的推移(3简单列:时间,数量,质量)。 我想绘制X,数量VS质量Y的散点图,但与色彩进展随着时间的推移,这样就可以看到质量随着时间的进展。
我将需要产生很多这种类型的图表,所以如果我能找到一段代码,会为数据集的任何长度,那将是非常有益的工作。
提前非常感谢帮助Matlab的新手!
您可以使用的颜色参数scatter
如果你的数据在时间上已排序不是简单的使用方法:
% let n be the number of points you have
cmp = jet(n); % create the color maps changed as in jet color map
scatter(x, y, 10, cmp, 'filled');
否则,你需要将你的数据首先排:
[time, idx] = sort(time);
x = x(idx);
y = y(idx);
cmp = jet(n); % create the color maps changed as in jet color map
scatter(x, y, 10, cmp, 'filled');
通过附加可变着色散点图的最简单的方法是简单地把它作为“颜色” -argument。 假设你有x
, y
,和time
(其中时间是一个数值向量。如果时间包含日期字符串时,调用datenum
就可以了,第一个)。 然后,你可以写
scatter(x,y,[],time,'filled')
然后,彩条轴会告诉你哪个时间点的特定颜色对应。 重要的是,这将正常推进的颜色,即使在情况下,测量之间的时间不统一。
/旁白:默认颜色映射是jet
,这是可视化的平稳过渡非常糟糕,我建议你下载一个感知颜色表提高从文件交换。 要使用它来设置颜色表,你可以调用
cmap = pmkmp(length(time));
colormap(cmap);