首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于值的plot3线条颜色

基于值的plot3线条颜色
EN

Stack Overflow用户
提问于 2012-08-08 06:26:21
回答 1查看 16.8K关注 0票数 8

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

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

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-08 07:13:53

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

代码语言:javascript
复制
%# 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循环,将每个小线段绘制为一条单独的线,每个线段都有不同的颜色。这是因为单个线条对象只能有一种颜色。

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

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

结果是:

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11855011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档