theta = (75); %degrees
a = -32.2; %ft/s^2
vyFinal = 0; %ft
yInitial = 1; %ft
% Set loop to graph in 1 foot increments from 3 to 12 ft
for x = 3:1:12
% Find required initial velocity based off distance (varies per loop)
v0 = sqrt((vyFinal^2)-(2*a*x));
% Determine time of flight
t = (2*v0.*sin(theta*(pi/180)))/a;
% Break v0 into components
vxInitial = v0.*cos(theta*(pi/180));
vyInitial = v0.*sin(theta*(pi/180));
% Create graph of trajectories
x = vxInitial.*t;
y = vyInitial.*t-0.5*a.*t.^2;
plot(x, y, '-*');
hold on;
end
plot() only ever creates a line of there are at least two adjacent finite coordinates in one call . Every call to plot() creates one or more line objects that are disconnected from all other line objects. When you only ask to plot one coordinate at a time, you will not get any lines.
In order to get lines, you need to record the x and y values, and plot() the entire record of them afterwards. Or you can use animatedline

