我想绘制一个带有方向的矢量场(我已经知道箭可以提供帮助),并将其幅度与颜色图联合起来。我看到另一个问题Link,其中thery建议使用HSV,但我希望看到箭头的方向与幅度作为热图。
感谢您的帮助。
答案 0 :(得分:1)
假设 MagnitudeMat 是一个带有矢量场magnistudes的m数组, positionsX 和 positionsY 分别是长度为n和m的向量 MagnitudeMat 值(矢量放置)的位置, uuu 和 vvv 是n个m个数组,分别是向量的x和y分量:
% [1] prepare x and y axis data for drawing
[XXX,YYY] = meshgrid(positionsX,positionsY);
% [2] draw the heat map of magnitudes
imagesc(positionsX,positionsY,MagnitudeMat);
hold on;
% [3] plot streamlines and arrows for vector field
hSlices = streamslice(XXX,YYY,uuu,vvv)
hSlices2 = quiver(XXX,YYY,uuu,vvv);
% [4] some graphical settings
set(hSlices,'LineWidth',1, 'Color' , [.5 .5 .5]);
set(hSlices2,'LineWidth',2, 'Color', [.3 .3 .3]);
colormap('hot');
colorbar('location','eastoutside')
我希望这个例子有用:)