如何在 plot3 中使用渐进式着色?
How to use progressive coloring with plot3?
我想使用 plot3
随着数组索引的进展而变化的颜色。
我有 3 个变量:x
、y
、z
。
所有这些变量都包含时间轴进度中的值。
例如:
x = [1, 2, 3, 4, 5];
y = [1, 2, 3, 4, 5];
z = [1, 2, 3, 4, 5];
plot3(x, y, z, 'o')
我希望看到颜色从 (x(1), y(1), z(1)
) 到图中最后一个值 (x(5), y(5), z(5)
) 的变化。如何动态更改此颜色?
在我看来,这里的方法是使用 scatter3
,您可以在其中明确指定颜色值:
scatter3(x,y,z,3,1:numel(x))
其中 3
是大小参数,1:numel(x)
给出递增的颜色。之后您可以像往常一样选择您的色图。
使用 plot3
你可以做同样的事情,但它需要一个循环:
cMap = jet(numel(x)); % Generates colours on the desired map
figure
hold on % Force figure to stay open, rather than overwriting
for ii = 1:numel(x)
% Plot each point separately
plot3(x(ii), y(ii), z(ii), 'o', 'color',cMap(ii,:))
end
我只会使用 plot3
选项,以防你想要元素之间连续的彩色线条,而 scatter3
做不到:
cMap = jet(numel(x)); % Generates colours on the desired map
figure
hold on % Force figure to stay open, rather than overwriting
for ii = 1:numel(x)-1
% Plot each line element separately
plot3(x(ii:ii+1), y(ii:ii+1), z(ii:ii+1), 'o-', 'color',cMap(ii,:))
end
% Redraw the last point to give it a separate colour as well
plot3(x(ii+1), y(ii+1), z(ii+1), 'o', 'color',cMap(ii+1,:))
注意:在 R2007b 上测试和导出图像,使用 R2021b 文档交叉检查语法
我想使用 plot3
随着数组索引的进展而变化的颜色。
我有 3 个变量:x
、y
、z
。
所有这些变量都包含时间轴进度中的值。
例如:
x = [1, 2, 3, 4, 5];
y = [1, 2, 3, 4, 5];
z = [1, 2, 3, 4, 5];
plot3(x, y, z, 'o')
我希望看到颜色从 (x(1), y(1), z(1)
) 到图中最后一个值 (x(5), y(5), z(5)
) 的变化。如何动态更改此颜色?
在我看来,这里的方法是使用 scatter3
,您可以在其中明确指定颜色值:
scatter3(x,y,z,3,1:numel(x))
其中 3
是大小参数,1:numel(x)
给出递增的颜色。之后您可以像往常一样选择您的色图。
使用 plot3
你可以做同样的事情,但它需要一个循环:
cMap = jet(numel(x)); % Generates colours on the desired map
figure
hold on % Force figure to stay open, rather than overwriting
for ii = 1:numel(x)
% Plot each point separately
plot3(x(ii), y(ii), z(ii), 'o', 'color',cMap(ii,:))
end
我只会使用 plot3
选项,以防你想要元素之间连续的彩色线条,而 scatter3
做不到:
cMap = jet(numel(x)); % Generates colours on the desired map
figure
hold on % Force figure to stay open, rather than overwriting
for ii = 1:numel(x)-1
% Plot each line element separately
plot3(x(ii:ii+1), y(ii:ii+1), z(ii:ii+1), 'o-', 'color',cMap(ii,:))
end
% Redraw the last point to give it a separate colour as well
plot3(x(ii+1), y(ii+1), z(ii+1), 'o', 'color',cMap(ii+1,:))
注意:在 R2007b 上测试和导出图像,使用 R2021b 文档交叉检查语法