MATLAB: Plotting selected data possibly with indexing

MATLABplotting

I have a code using which i solve equations and get the required for plotting. The data is from a physical problem and for that reason, i only need to plot it when a certain variable is less than zero (for the first time). Afterwards the equations dont hold and the whole issue becomes meaningless.
For simplicity i am just listing an example. Kindly let me know how can i have a plot like this with the data below. Note that i only want to plot data while y approaches 0 for the 1st time. (so not all values which are postive).
x = [ 1 2 3 4 5 6 7 8 9 10 11 12];
y = [ 1 4 7 8 6 3 2 -2 -5 7 9 12];

Best Answer

y = cumprod(y > 0) .* y;
y(y == 0) = nan
plot(x, y)