Matlab: кольцеобразные графы - PullRequest
       5

Matlab: кольцеобразные графы

4 голосов
/ 31 октября 2011

Есть ли в Matlab простой способ создания визуализаций, подобных приведенным ниже?

Visualisation

Важны две кольцеобразные формы и прикрепленные векторы (более или менее)указывая на центр черных пятен.Советы другим инструментам визуализации, создающим векторные изображения, которые могут привести к аналогичным результатам, также очень ценятся!Все мои усилия по решению этой задачи не привели меня к дальнейшему развитию ...

Matlab была бы хорошей платформой для автоматической генерации такого рода визуализации для различных "сценариев" ...

Заранее спасибо, М.

Ответы [ 2 ]

2 голосов
/ 05 ноября 2011

Вот часть рисунка.Остальное должно быть легко выяснить

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

0 голосов
/ 02 ноября 2011

Вы можете начать с графика компаса: http://www.mathworks.com/help/techdoc/ref/compass.html или полярного графика: http://www.mathworks.com/help/techdoc/ref/polar.html.Другой вариант: http://undocumentedmatlab.com/blog/jfreechart-graphs-and-gauges/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...