It is not clear what you wanted to plot.
However, I think you misunderstand. It is still possible to evaluate the log of a negative number. The problem is that log is a complex number.
1.09861228866811 + 3.14159265358979i
1.38629436111989 + 3.14159265358979i
MATLAB correctly extends the log function, so it can be evaluated for negative inputs too. That is, if you read the docs for log, you will see:
log(z) = log(abs(z)) + 1i*angle(z)
The function angle for a negative number always returns pi. That is the extension of the natural log function into the complex plane.
So, what happens when you plot a complex number, as you did with
Warning: Imaginary parts of complex X and/or Y arguments ignored.
MATLAB plots only the real part of y1. The imaginary part of y1 is ignored. In fact, you should have gotten a warning message, indicating that fact.
What then is the real part of log(z)?
real(log(z)) = log(abs(z))
You should then expect the log function to be plotted as a symmetric function around 0. Therefore, a plot of real(log(z+2)) would be symmetric around -2.
How can you draw the "correct" graph? That is difficult to know, since we don't know what you intend to do. The graph is correct, as MATLAB sees the problem.
If you want the plot to show nothing below -2, then x should start out at -2, not at -10.