我有以下数据:
我通常以正常方式绘制数据:
plot(wavelength, dataMatrix)
但我想要的是根据浓度值对每个样品进行绘图和着色,同时考虑其余部分,基于数据的颜色。我认为这与colormap有关。结果将是这样的:
使用Matlab有没有简单的方法呢?
非常感谢!
答案 0 :(得分:0)
plot
接受包含线条颜色的线属性,例如
plot(wavelength, dataMatrix, 'Color', [0,0,0.1])
colormap
可以将内置颜色贴图转换为RGB矩阵,例如
nlines = length(concentrations);
cmap = hsv(nlines)
将浓度映射到颜色可以像对数字进行排序一样简单
c = concentrations - min(concentrations);
c = ceil( c/max(c)*nlines );
最后,分别绘制每一行
for ii = 1:nlines
plot(wavelength, dataMatrix(ii,:), 'Color', cmap(c(ii),:))
hold on
end
hold off