numtime = size(v,1);
time1 = linspace(1, 10, numtime);
time2 = linspace(80, 89, numtime);
time3 = linspace(100, 109, numtime);
plot(time1,number_1,'-ro', time2,number_2,'-.b', time3, number_3);
grid on; axis([1 120 -67 -45]);
As you know the range of times you want but the number of rows of v you get is not constant, you need to interpolate the times to fit the number of rows you have.
... or was the idea that you want to extract from v the rows those times match those ranges, showing only a subset of the available data? If so then:
idx1 = 1 <= time & time <= 10;
idx2 = 80 <= time & time <= 89;
idx3 = 100 <= time & time <= 109;
v1 = v(idx1,:);
v2 = v(idx2,:);
v3 = v(idx3,:);
plot(v1(:,1), v1(:,2:4),'-ro', v2(:,1),v2(:,2:4),'-.b', v3(:,1),v3(:,2:4));
grid on; axis([1 120 -67 -45]);