我想制作一个有点像散点图但有矩形的图。每个矩形需要具有特定的大小和起始位置,由坐标确定。所有我能得到的。
然而,我想要做的是用另一个值z为每个矩形着色。但是我不知道该怎么做。
您可以使用下面的代码查看我正在尝试的内容。
x=rand(1,10)*10;
y=rand(1,10)*10;
w=rand(1,10)*5;
h=rand(1,10)*20;
axis([0 10 0 20]);
for i=1:10
rectangle('Position',[x(i) y(i) w(i) h(i)])
endfor
这会生成图表
编辑:我知道属性' FaceColor'和' EdgeColor'但是,如果我有很多矩形......大约100个,并且我想用相应的z值给每个颜色着色,我似乎无法使这些属性接受Z值数组。
答案 0 :(得分:-2)
x=rand(1,10)*10;
y=rand(1,10)*10;
w=rand(1,10)*5;
h=rand(1,10)*20;
z=randi(10,1,10)/10;
axis([0 10 0 20]);
for i=1:10
cm=colormap;
colorID=max(1, sum(z(i)>[0:1/length(cm(:,1)):1]));
myColor=cm(colorID,:);
rectangle('Position',[x(i) y(i) w(i) h(i)],'EdgeColor',myColor)
endfor