Plotting Polynomial Regression?
You could use X and lin_reg.predict(X_poly), but


The plot will put those points in the order they appear in X, and since you're using a line connector it will appear to jump all over the place.  You could fix this by using a scatterplot instead.
It's vaguely disingenuous to use the training set's x-values for plotting the fitted curve; using np.linspace to get equally-spaced x-values is preferable (even if your original X was randomly generated and should fill the space reasonably well).