关于 matlab 中 quiver 加图例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于 matlab 中 quiver 加图例相关的知识,希望对你有一定的参考价值。

您好~
我现在也遇到绘制矢量箭头图时加图例的问题。
我能控制箭头长度什么的,或是可以按您的方法找个地方绘条定长线,加个text标注。
但我想加单独的图例,请问您有什么办法么?

打扰了

最直接的用法放六个值 quiver3(x,y,z,u,v,w) 例如quiver3(1,2,3,4,5,6) 就以点(1,2,3)为起点作一个(4,5,6)向量, 即在(1,2,3)一个指向(5,7,9)的箭头. x,y,z,u,v,w必须长度一样, 就可以作出一个三维的向量图. 向量由(u,v,w...追问

啊咧。。。
其实我的意思是,我知道怎么搞向量出来,包括设长度、调色什么的。

但我感觉图里加一个另外的向量很突兀,如果可以,还是希望能在图外面加,类似legend里的那种,但legend里面的箭矢量长度我没试出怎么设

参考技术A

quiver(x,y,z,u,0,0,scale);%(x,y,z)为原点坐标,(u,0,0)为方向,scale为放大倍数。

text((x+u)*scale,y,z,'\\fontsize15 X轴');

这是三维坐标图中的加坐标轴示例。希望可以帮到你。

如果帮到了您,请您顺手帮我点一下墨墨背单词的链接,感谢~:

墨墨背单词分享链接

使用 Quiver 函数在 Matlab 中更改矢量箭头的颜色

【中文标题】使用 Quiver 函数在 Matlab 中更改矢量箭头的颜色【英文标题】:Change Color for Vector Arrows in Matlab Using Quiver Function 【发布时间】:2021-11-16 05:04:28 【问题描述】:

我在 Matlab 上有以下代码

x = [0.49015734, 0.04615336, 0];
y = [0.76897085, 0.8420684, 0];
z = [0.41040173, 0.5373925, 0];

StainVector=[x; y; z];
starts = zeros(3,3);
ends = StainVector';

q=quiver3(starts(:,1), starts(:,2), starts(:,3), ends(:,1), ends(:,2), ends(:,3),...
    'Color', StainVector(:,1));
axis([0 1 0 1 0 1])
title('Test Plot')
xlabel('x')
ylabel('y')
zlabel('z')

这会产生一个带有两个矢量箭头的 3D 图(第三个被抑制,因为它在 0,0,0 开始和结束。)如何将箭头的颜色更改为 RGB 值,以及另一个箭头指向另一个 RGB 值?

这是我从代码中得到的图像:

【问题讨论】:

【参考方案1】:

不幸的是,我只看到带有循环的选项,因为颜色选项应用于 quiver 调用中的所有箭头。

举个例子

colMap = eye(3);  % RGB Matrix with your colors

for idx = 1:size(starts,1)
    q=quiver3(starts(idx,1), starts(idx,2), starts(idx,3), ends(idx,1), ends(idx,2), ends(idx,3), ...
        'Color', colMap(idx,:));
    hold on
end

【讨论】:

太棒了,有效!

以上是关于关于 matlab 中 quiver 加图例的主要内容,如果未能解决你的问题,请参考以下文章

[ZZ] 用matlab绘制箭头

Matlab quiver函数

matlab 2016a simulink 图例

Matlab2016a simulink 图例

使用 Quiver 函数在 Matlab 中更改矢量箭头的颜色

matlab怎么在图上添加图例