Matlab:环状图

时间:2011-10-31 17:07:59

标签: matlab visualization

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

Visualisation

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

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

提前谢谢你, 微米。

2 个答案:

答案 0 :(得分:2)

这是图中的一部分。其余的应该很容易理解

%# 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)

enter image description here

答案 1 :(得分:0)