如何更新绘图中的数据确实以八度为单位创建动画

时间:2014-05-29 16:38:03

标签: matlab animation plot octave

我试图在每次循环中使用pause命令逐行绘制一个二维数组来创建动画。我已经在matlab和octave中做了这个,但是我在循环中有了plot命令,对于octave来说整个事情变慢了。我看到某处我可以更新图中的数据,但由于某种原因它不起作用。我在这里做错了什么?

假设x是一些常数阵列D =(1 * m),y是变量数组D =(n * m)。 D - > dimensons

h=plot(x,y(:,1),'-');
while true
    for i=1:length(t)
        axis([0 l -A A]);
        hold on;
        set(h,'YData',y(:,i));
        pause(0.01)
        cla
    end

end

2 个答案:

答案 0 :(得分:1)

您不应该在代码中使用hold on。以下在Octave 3.8.1中使用fltk作为图形工具包可以正常工作:

t = linspace (0, 2*pi, 100);
y = sin (0.1*t);
h = plot (t, y);
for f = 0.2:0.1:2*pi
  y = sin (f*t);
  set (h, 'YData', y);
endfor

答案 1 :(得分:0)

这是一个简单的例子:

CHvalues = [row[0] for row in arcpy.da.SearchCursor("Hydrants.shp", "FACILITYID", "SYSTEM = 'Chaparral'")]

CHuniqueValues = max(CHvalues)

CHintLastVal = int(CHuniqueValues[-4:])