八度 - 绘制矩形

时间:2016-06-21 18:59:57

标签: octave

我想制作一个有点像散点图但有矩形的图。每个矩形需要具有特定的大小和起始位置,由坐标确定。所有我能得到的。

然而,我想要做的是用另一个值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值数组。

enter image description here

1 个答案:

答案 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