动画圆圈在一段时间内增加和减小尺寸 - matlab

时间:2014-04-22 01:54:48

标签: matlab animation graph plot data-visualization

我想创建一个简单的可视化,其中圆(国家)的大小(基于变量)将随时间增加/减少。

如何使用我当前的数据集在matlab上完成?我希望每个圆圈代表一个国家,圆圈的大小将由该特定年份的价值决定。 C1990代表1990年

enter image description here

enter image description here 无论如何可以指出我正确的方向或让我开始这个?

由于

1 个答案:

答案 0 :(得分:3)

您可以使用scatter开始两种可能的方法(请注意,圆圈的面积与10*D的值成正比,而不是半径或直径)

close all
figure(1)
D=rand(10,10)
Cx=1:10;
Cy=Cx;
for i=1:length(D(:,2))
    scatter(Cx,Cy,(10*D(:,i)))
    drawnow
    pause(.1)
end

或手动绘制圆圈,圆圈的RADIUS对应D

figure(2)
D=rand(10,10)
Cx=1:10;
Cy=Cx;
phi=0:pi/100:2*pi;
for i=1:length(D(:,2))
    for k=1:length(Cx)
        r=D(k,i);
        plot(Cx(k)+r*cos(phi),Cy(k)+r*sin(phi))
        hold on
    end
    drawnow
    pause(.1)
    hold off
end

(在任何一种情况下,你可以让圆圈的面积或半径与D成比例)