Matlab 使用带有颜色的streamslice进行速度

Matlab 使用带有颜色的streamslice进行速度,matlab,Matlab,我正在使用streamslice命令来可视化我的流程。我想根据速度的大小添加颜色,但在streamslice中似乎没有函数参数来添加颜色。函数如下所示: % x - x-coordinates % y - y-coordinates % u,v - vector volume data h = streamslice(x,y,u,v) 该函数生成此图像如果要使用streamslice,我可以提出一些建议。这将需要一些调整,使它看起来像一个很酷的数字,但它做的工作,我想。想法是将冲浪图

我正在使用
streamslice
命令来可视化我的流程。我想根据速度的大小添加颜色,但在
streamslice
中似乎没有函数参数来添加颜色。函数如下所示:

 % x - x-coordinates 
 % y - y-coordinates
 % u,v - vector volume data
 h = streamslice(x,y,u,v)

该函数生成此图像

如果要使用
streamslice
,我可以提出一些建议。这将需要一些调整,使它看起来像一个很酷的数字,但它做的工作,我想。想法是将冲浪图与
streamsilces
图结合起来

看看结果。我想,如果有更好的颜色贴图,再加上一些技巧,获得
streamslice
的数据句柄来更改线条颜色,它可以很好地工作,特别是在Matlab R2014b或更高版本中

代码:


您可以使用这个quiverc()函数,它看起来类似于streamslice,并提供基于大小分配颜色的选项:谢谢!成功了
clear;clc;
load wind
% Use only a piece of this datasheet
x=x(:,:,5);
y=y(:,:,5);
u=u(:,:,5);
v=v(:,:,5);

mag=sqrt(u.^2+v.^2);

figure
hold on
surf(x,y,mag-max(mag(:)),'FaceColor','interp','Edgecolor','none')
colormap('hot')
streamslice(x,y,u,v)
axis([min(x(:)) max(x(:)) min(y(:)) max(y(:)) -max(mag(:)) 0])