Matlab:环状图

有没有一种简单的方法在Matlab中创建如下的可视化?

重要的是2个环状形状和附着的矢量(或多或少)指向黑点的中心.其他可视化工具的提示创建可能导致类似结果的矢量图像也非常感谢!我为解决这项任务所做的一切努力都没有给我带来任何进一

Matlab将是一个很好的平台,可以自动为不同的“现场场景”生成这种可视化……

先感谢您,
M.

最佳答案 这是图中的一部分.其余的应该很容易理解

%# define the ring
phi = linspace(0,2*pi,360);
innerRim = [cos(phi)',sin(phi)'];
outerRim = [cos(phi)',sin(phi)']*1.3;

xRing = [outerRim(:,1),innerRim(:,1),innerRim([2:end,1],1),outerRim([2:end,1],1)]';
yRing = [outerRim(:,2),innerRim(:,2),innerRim([2:end,1],2),outerRim([2:end,2],2)]';

%# create some data. 0 for black 0.5 for gray. 
%# RingData has a value for each degree
ringData = ones(1,360) * 0.5;
ringData(25:30) = 0;
ringData(77:80) = 0;
ringData(240:255) = 0;

%# plot the ring
%# for an outer ring, add 1 to xRing, yRing
figure
patch(xRing,yRing,ringData,'EdgeColor','none');
set(gca,'cLim',[0 1]);
axis square
axis off
set(gcf,'color','w');

%# plot three arrows at the origin
hold on, qh=quiver(zeros(3,1),zeros(3,1),[0.4;0.3;-0.5],[0.7;-0.1;0.3])
set(qh,'LineWidth',3)
点赞