如何將滾動條添加到子圖中?在GUI中的子圖中添加滾動條
我經歷了許多教程走了,但他們似乎很難理解(例如:Scrolling Figure Demo)
任何簡單的方法來實現?
我的代碼如下所示。它創建兩個數字,一個用於多個地塊,另一個用於子地塊。對於subplots我希望有滾動條,以便我可以將其滑下。 我不知道如何調用這個函數,如果我將addaxis的調用替換爲我的函數,那麼如何在不調用addaxis函數的情況下重新調整軸。
function readfile
while(1)
q = cell(16,2);
q{1,1}='1B000003AC63A328.txt'; % sensor 1
q{1,2} = 'sensor 1';
q{2,1}='D6000003ACA0AB28.txt';% sensor 2
q{2,2} = 'sensor 2';
q{3,1}='B0000003AC9B8428.txt'; % sensor 3
q{3,2} = 'sensor 3';
q{4,1}='5D000003AC5FEA28.txt';% sensor 4
q{4,2} = 'sensor 4';
q{5,1}='E1000003AC5DA728.txt';% sensor 5
q{5,2} = 'sensor 5';
q{6,1}='BE000003ACA4F828.txt';% sensor 6
q{6,2} = 'sensor 6';
q{7,1}='5F000003AC8C6128.txt';% sensor 7
q{7,2} = 'sensor 7';
q{8,1}='78000003AC77A328.txt';
q{8,2} = 'sensor 8'; % sensor 8
q{9,1}='B2000003AC542A28.txt';% sensor 9
q{9,2} = 'sensor 9';
q{10,1}='EB000003B717F328.txt';% sensor 10
q{10,2} = 'sensor 10';
q{11,1}='86000003AC97AC28.txt';% sensor 11
q{11,2} = 'sensor 11';
q{12,1}='78000003AC748828.txt';% sensor 12
q{12,2} = 'sensor 12';
q{13,1}='A5000003AC905C28.txt';% sensor 20
q{13,2} = 'sensor 20';
q{14,1}='B4000003ACA4A728.txt';% sensor 21
q{14,2} = 'sensor 21';
q{15,1}='14000003AC69A528.txt';% sensor 22
q{15,2} = 'sensor 22';
q{16,1}='99000003AC68F728.txt';% sensor 23
q{16,2} = 'sensor 23';
for j=1:16
fname=q{j};
fid=fopen(fname,'r');
header=fgetl(fid);
data=textscan(fid,'%s','delimiter',';');
fclose(fid);
data=data{:};
day=data(1:3:end);
hour=data(2:3:end);
temp=str2double(data(3:3:end));
time=cellfun(@(x) sprintf('%s %s',day{strcmpi(hour,x)},x),hour,'uniformoutput',0);
% timev=datevec(time,'mm.dd.yyyy HH:MM:SS');
timen=datenum(time,'mm.dd.yyyy HH:MM:SS');
seconds=timen*86400/60;
figure(1)
subplot(5,4,j),
h=plot(seconds-seconds(1),temp,'YDataSource','temp');
legend(h,q{j,2});
grid on
xlabel('Time(mins)');
ylabel('Temp °C');
%subplot(1,1,i),
figure(2)
if(j==1)
r=plot(seconds-seconds(1),temp);
hold on
set(r,'Color','blue','LineWidth',2)
end
if(j==2)
r=plot(seconds-seconds(1),temp);
set(r,'Color','green','LineWidth',2)
end
if(j==3)
r=plot(seconds-seconds(1),temp);
set(r,'Color','red','LineWidth',2)
end
if(j==4)
r=plot(seconds-seconds(1),temp);
set(r,'Color','cyan','LineWidth',2)
end
if(j==5)
r=plot(seconds-seconds(1),temp);
set(r,'Color','magenta','LineWidth',2)
end
if(j==6)
r=plot(seconds-seconds(1),temp);
set(r,'Color','yellow','LineWidth',2)
end
if(j==7)
r=plot(seconds-seconds(1),temp);
set(r,'Color','black','LineWidth',2)
end
if(j==8)
r=plot(seconds-seconds(1),temp,'--');
set(r,'Color','blue','LineWidth',2)
end
if(j==9)
r=plot(seconds-seconds(1),temp,'--');
set(r,'color','green','LineWidth',2)
end
if(j==10)
r=plot(seconds-seconds(1),temp,'--');
set(r,'Color','red','LineWidth',2)
end
if(j==11)
r=plot(seconds-seconds(1),temp,'--');
set(r,'Color','cyan','LineWidth',2)
end
if(j==12)
r=plot(seconds-seconds(1),temp,'--');
hold on
set(r,'Color','magenta','LineWidth',2)
end
if(j==13)
r=plot(seconds-seconds(1),temp,'--');
set(r,'Color','yellow','LineWidth',2)
end
if(j==14)
r=plot(seconds-seconds(1),temp,'--');
set(r,'Color','black','LineWidth',2)
end
if(j==15)
r=plot(seconds-seconds(1),temp,'-.');
set(r,'Color','blue','LineWidth',2)
end
if(j==16)
r=plot(seconds-seconds(1),temp,'-.');
set(r,'Color','green','LineWidth',2)
end
legend('Sensor 1','Sensor 2','Sensor 3','Sensor 4','Sensor 5','Sensor 6',...
'Sensor 7','Sensor 8','Sensor 9','Sensor 10','Sensor 11','Sensor 12','Sensor 20','Sensor 21','Sensor 22','Sensor 23','Location','BestOutside')
end
pause(2*60)
end end
類似的問題:[添加滾動條圖與subplots](http://stackoverflow.com/questions/5122716/add-scrollbar-to-figure-with-subplots) – Amro