我正在使用 matlab 绘制三个数据系列。
例如
0.4545 0.7676 10
0.3232 0.5432 20
假设这是一个 100 x 3 矩阵。 (我们称其为A,也是根据A(:,1)排序的)第三列是一个附加数字,范围从1到100。
我正在使用 MATLAB 执行以下操作:
plot (A(:,1));
hold on;
plot (A(:,2));
我使用属性编辑器以行格式表示数据系列 A(:,1) 和带有附加标记的数据系列 A(:,2) [正方形,即图中的 --rs 选项]。
我的问题是,如何根据第三列中的数据填充方块?
基本上,我如何根据 3d 列中的数据对第二个数据系列进行颜色编码?
在附图中,我如何通过 A(:,3) 中的数据将颜色填充到方块中
是否可以通过制作渐变来实现颜色的渐变?
请帮忙。谢谢。
这是一个非常简单、效率不高但很容易阅读的方法:
% create fake data
x=linspace(-10,10,100);
y=sin(x);
c=randi(numel(x),1,numel(x));
cmap=colormap(jet(numel(x)));
% plot the lines
plot(x,y,'--'); hold on
% plot the squares, one at a time according to color vector c
% I added some randome noise to y to get the image nicer...
for n=1:numel(x)
plot(x(n),y(n)+0.3*(rand-0.5),'s','MarkerFaceColor',cmap(c(n),:));hold on
end
hold off
在完全不同的情况下,这个问题让我想起了我不久前就类似主题给出的答案(see here https://stackoverflow.com/questions/18754270/plotting-time-series-with-different-colors-in-matlab/18754961#18754961)...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)