BUG: DataFrame.plot may raise IndexError / show unnessesary minor ticklabels
Closes #10657. Closes #10819. Both are related to the logic how `pandas` detects axes layout. Use current logic as much to support cases like #7457, and added error handing logic for gridspec.

Following is an example notebook how the fix works.
- https://gist.github.com/sinhrks/2d29e2e8ef26f2757e92

CC @TomAugspurger @JanSchulz @heelancd @williamsmj

thank you sir!
