有没有办法在matlab中动态创建子图?
我有一个变量 X ,用于确定要绘制的图表数量,我想知道是否有办法动态创建这些图表,因为 X 会因到某种情况
我目前预先分配了子图的数量,如下所示:
figure
ax1 = subplot(3,1,1);
ax2 = subplot(3,1,2);
ax3 = subplot(3,1,3);
plot(ax1,ins,state_vec(:,1),'b',x,100,'r','LineWidth',2)
plot(ax2,ins,state_vec(:,2),'b',x,100,'r','LineWidth',2)
plot(ax3,ins,state_vec(:,3),'b',x,100,'r','LineWidth',2)
答案 0 :(得分:1)
如果你只希望它们在一个列中(就像你现在拥有它们一样),一个简单的for循环应该这样做:
figure
for i = 1:X
axi = subplot(X,1,i)
plot(axi,ins,state_vec(:,i),'b',x,100,'r','LineWidth',2)
end
如果你想要一个网格,你必须比这更聪明,但你可以用两个for循环来做。如果可以,请尝试R + ggplot2! :)