This is just another case of someone not understanding how polynomials work or behave.
Seriously, to fit a polynomial to that data would be an unjust thing to do to a poor, unsuspecting polynomial. Why? Well, yes, you can force fit a polynomial through the origin. The data is massively noisy but you could still do so.
You would need to discard the data below x == 0 though, since it appears your function is essentially constant below zero.
As well, above 2 or 3 for x, the function again appears to settle down to a constant value. This is impossible for any polynomial function (except for the trivial case of a constant itself.) All polynomials, as x grows large in magnitude, ALWAYS MUST grow to either +inf or -inf.
As such, your data shows strongly non-polynomial behavior.
If you were willing to discard all data below zero, as well as all data above say x=2.5, could you fit what remains with a polynomial that is forced to pass through zero? Well, yes.
Polyfit does not have this capability. And you would NOT want to use a remotely high order polynomial. Your data is wildly too noisy to support anything of any significant order. (Perhaps a cubic is as high as I would go.) And, since I lack your data, I can't do too much. A picture of numbers is nice, but not terribly useful. So I;ll make up some garbage data. Actually, what I have here is a bit better than what I see in the picture.
y = sin(x) + randn(size(x))/3;
So, pretty noisy data. You would agree the function should pass through the origin, in this case, only because we know the underlying function does exactly that. Now, fit that with a cubic polynomial, passing through the origin. This takes only one line of code.
I could also have trivially used the curve fitting toolbox, or my own polyfitn from the file exchange. But one line of code that requires no other tools is hard to beat.
The constant term in that model is implicitly zero. So that I can now use polyval to evaluate it, I'll append the constant term to the coefficients.
legend('data','Cubic fit through the origin')
A higher order model would be wholly unjustified for data this noisy, but the cubic seems reasonable. Could I have added a up to maybe 5th order term? Sigh, perhaps. At some point the extra terms will just start chasing noise in the data, and given this much noise, that will happen quite quickly.
Do NOT try to use that polynomial to predict outside the support of the data. It will do obscene things, as that is just the nature of the polynomic beast.