I don't know if this is a very good way to visualize shifts, but this is how I think about them.
Vertical shifts are of the form $f(x)+k$ and the addition happens after evaluating $f$, so the shift is applied to the function values themselves. So if you think of the graph, you basically pick up the curve and move it up or down depending on the sign of $k$.
Horizontal shifts are of the form $f(x+k)$. The addition is applied to the input and then passed into the function for evaluation. I think of applying this shift to the coordinate grid. In terms of the graph, you hold the function in place and slide the grid right or left depending on the sign of $k$. If $k=45$, then you slide the grid to the right by 45 units underneath the curve. It's like pulling a tablecloth underneath a plate that you hold in place.
Then when you step back and look at the picture, the $y$ axis is to the right of you graph. So your function went left.
Actually, I think of all transformations this way. Anything happening outside of the parentheses, like $af(x)+b$ is a transformation of the curve. Anything inside the parentheses $f(ax+b)$ is a transformation of the grid, where I hold the curve in place.