Linear model coefficient has a high p-value (insignificant) but the fitted value looks perfect I have made an OLS model using statsmodels in python, in an attempt to model the response variable: energy cost per tonne. Note: I only have 36 observations.
I am now in the stage of removing insignificant variables.
The following are the results where you can see multiple insignificant variables. Obviously the first one to remove is Landfill Waste with the highest p-value:

However statsmodels has a function called plot_fit, which I used for Landfill Waste, and it looks perfect:

I understand this should still be removed from the model given its p-value, however can somebody explain why it still fits so well in the chart?

The big reason that comes to mind if the possibility of overfitting. With $36$ observations and $8$ variables, you’re likely fitting to the noise at least close to as much as the signal. In other words, you are modeling coincidences in the data, rather than real trends.
I once put a simulation on Data Science that takes this to the extreme.
However, removing variables based on p-value is a form of stepwise regression, which has known issues.
Andrew Gelman is not a fan, either, and Cross Validated has an answer with a $-58$ score that argues in favor of stepwise variable selection.
