在3D干线图中使用颜色区分数据点Matlab

时间:2016-06-03 21:09:48

标签: matlab matrix plot colors

假设我有一个包含多行和多列的矩阵(名为data)。我正在使用stem3绘制以获得3D视图。

    col1 col2 col3
row1
row2
row3
...

col1和col2用作x和y轴。 col3用作z轴。

stem3(data(:,1),data(:,2),data(:,3),'red')

enter image description here

有没有办法可以操纵那些数据点的颜色,其中值大于500的数据点是蓝色,而其余数据点是红色的?谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

最简单的方法是简单地创建两个不同的stem3图。您将创建一个仅显示大于截止值(500)的值并使其变为蓝色的值。然后,您将使用红色标记创建一个其他所有标记。

% Logical array to determine which population each point belongs to
isAbove = data(:,3) > 500;

stem3(data(isAbove,1), data(isAbove,2), data(isAbove,3), 'b');

hold on

stem3(data(~isAbove,1), data(~isAbove,2), data(~isAbove,3), 'r');