Add match=msg to pytest.raises or convert to external_error_raised for modules in tests/plotting
This pull request xref #30999 to remove bare `pytest.raises`. It doesn't close that issue as I have only addressed files within `pandas/tests/plotting/`.

Things I did that were not simple adding `match = msg` to `pytest.raises` or converting them to `tm.external_error_raised`:

- In `pandas/plotting/_matplotlib/_core.py` I found two error messages somewhat unclear. I changed the error message in the `ValueError` raised by `_get_stacked_values` to be, imo, a little bit clearer. In addition, in the constructor for `PiePlot`, the previous error message for the `ValueError` was "None doesn't allow negative values" which I changed to "pie plot doesn't allow negative values" because I believe that was the original intent.
- In `test_frame.py`, in the `test_errorbar_plot` method, the `pytest.raises` was allowing matplotlib to raise either a `TypeError` or a `ValueError`. I changed it to an `external_error_raised` but also specified it to be a `TypeError` because that is what it is, and I didn't see the reason it was allowed to be either error.
- Also in `test_frame.py`, the test `test_invalid_xy_args` was pytest-parameterized to test two different kinds of errors: x not being a label or position, or the label being bad. I split it into two tests, calling the new test `test_bad_label`
- Also in `test_frame.py`, the test `test_partially_invalid_plot_data` looped over a list with one element in it. I guessed that this was a remnant of an older test strategy that is no longer employed. I removed the list and made the kind of plot being tested more explicit.
- In a couple of test modules I moved a few lines out of the context of the `pytest.raises` because they were setup lines that didn't raise the error: I wanted to make it clear exactly which pandas method was raising the error.

I will note that another developer, [DylanBrdt](https://github.com/DylanBrdt) commented on the issue that they would address these files but they haven't been active on github since February.

- [ ] xref #30999
- [ ] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

thanks @moink 

FYI on an issue like this use xref rather than closes in the PR header, otherwise GH will acually close the issue (which you normally want, but this issue is not closed yet). > thanks @moink
> 
> FYI on an issue like this use xref rather than closes in the PR header, otherwise GH will acually close the issue (which you normally want, but this issue is not closed yet).

Ok thanks