matlab - 基于值的 plot3 线条颜色

标签 matlab colors plot

我有一组包含 3d 笛卡尔点(x、y、z)和时间戳的数据。

我想将此数据绘制为 3d 空间中的一条连接线,线条颜色会根据时间戳值发生变化。

实际上我想在颜色条中显示时差。

有谁知道这样做的方法吗?

最佳答案

考虑以下 3D 点随时间沿螺旋形路径移动的示例:

%# data
t = linspace(0,8*pi,200);
x = 20*t; y = cos(t); z = sin(t);

%# plot 3D line
plot3(x,y,z)
axis tight, grid on, view(35,40)

现在如果你想画一条多色线,天真的解决方案是写一个for循环,把每个小线段画成一条单独的线,每条线都有不同的颜色。这是因为单线对象只能有一种颜色。

更好的方法是使用表面图形对象:

c = 1:numel(t);      %# colors
h = surface([x(:), x(:)], [y(:), y(:)], [z(:), z(:)], ...
    [c(:), c(:)], 'EdgeColor','flat', 'FaceColor','none');
colormap( jet(numel(t)) )

结果:

screenshot

关于matlab - 基于值的 plot3 线条颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11855011/

相关文章:

string - 确认字母和数字都存在的功能/忽略异常(exception)情况

matlab - 在 Octave 音程/matlab 中更改极坐标图的范围/限制

r - 如何在不更改其他背景的情况下更改 ggplot 图例中的背景以获得线条美感?

python - 如何使用 plotly figure_factory 仅绘制散点图矩阵的下半部分?

matlab - FitSCVM - 多个类,28x28 0 到 1 之间的数字矩阵

matlab - 在matlab中平均每n个向量的元素

javascript - 如何为数组中的每个元素分配随机颜色?

javascript - 动画前 div 背景颜色闪烁白色

linux - 你能在 grep 中保留不匹配内容的格式吗?

r - ggplot2使图例键填充透明