Remove deprecated plot_date calls
These were deprecated in Matplotlib 3.9.

- [n/a] closes #xxxx (Replace xxxx with the GitHub issue number)
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [n/a] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

There's one more thing for 3.9, but I'm not sure how to best fix it:
```
__________________ TestDataFramePlots.test_plot_scatter_shape __________________
[gw0] linux -- Python 3.12.3 /usr/bin/python3
self = <pandas.tests.plotting.frame.test_frame.TestDataFramePlots object at 0x7fc62fcb3920>
    def test_plot_scatter_shape(self):
        df = DataFrame(
            np.random.default_rng(2).standard_normal((6, 4)),
            index=list(string.ascii_letters[:6]),
            columns=["x", "y", "z", "four"],
        )
        # GH 6951
>       axes = df.plot(x="x", y="y", kind="scatter", subplots=True)
../../../BUILDROOT/python-pandas-2.2.1-2.fc41.x86_64/usr/lib64/python3.12/site-packages/pandas/tests/plotting/frame/test_frame.py:828: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../BUILDROOT/python-pandas-2.2.1-2.fc41.x86_64/usr/lib64/python3.12/site-packages/pandas/plotting/_core.py:975: in __call__
    return plot_backend.plot(data, x=x, y=y, kind=kind, **kwargs)
../../../BUILDROOT/python-pandas-2.2.1-2.fc41.x86_64/usr/lib64/python3.12/site-packages/pandas/plotting/_matplotlib/__init__.py:71: in plot
    plot_obj.generate()
../../../BUILDROOT/python-pandas-2.2.1-2.fc41.x86_64/usr/lib64/python3.12/site-packages/pandas/plotting/_matplotlib/core.py:503: in generate
    self._make_legend()
../../../BUILDROOT/python-pandas-2.2.1-2.fc41.x86_64/usr/lib64/python3.12/site-packages/pandas/plotting/_matplotlib/core.py:896: in _make_legend
    ax.legend(loc="best")
/usr/lib64/python3.12/site-packages/matplotlib/axes/_axes.py:341: in legend
    handles, labels, kwargs = mlegend._parse_legend_args([self], *args, **kwargs)
/usr/lib64/python3.12/site-packages/matplotlib/legend.py:1364: in _parse_legend_args
    _api.warn_external(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
message = 'No artists with labels found to put in legend.  Note that artists whose label start with an underscore are ignored when legend() is called with no argument.'
category = None
    def warn_external(message, category=None):
        """
        `warnings.warn` wrapper that sets *stacklevel* to "outside Matplotlib".
    
        The original emitter of the warning can be obtained by patching this
        function back to `warnings.warn`, i.e. ``_api.warn_external =
        warnings.warn`` (or ``functools.partial(warnings.warn, stacklevel=2)``,
        etc.).
        """
        frame = sys._getframe()
        for stacklevel in itertools.count(1):
            if frame is None:
                # when called in embedded context may hit frame is None
                break
            if not re.match(r"\A(matplotlib|mpl_toolkits)(\Z|\.(?!tests\.))",
                            # Work around sphinx-gallery not setting __name__.
                            frame.f_globals.get("__name__", "")):
                break
            frame = frame.f_back
        # preemptively break reference cycle between locals and the frame
        del frame
>       warnings.warn(message, category, stacklevel)
E       UserWarning: No artists with labels found to put in legend.  Note that artists whose label start with an underscore are ignored when legend() is called with no argument.
/usr/lib64/python3.12/site-packages/matplotlib/_api/__init__.py:381: UserWarning
``` pre-commit.ci autofix > There's one more thing for 3.9, but I'm not sure how to best fix it:

We don't have (m)any matplotlib experts on the pandas team so I'm not sure either. If this will remain as a `UserWarning` I think that's _OK_ in the near term to leave (feel free to open a a pandas issue to follow up)

Thanks for proactively addressing these! Thanks @QuLogic  > > There's one more thing for 3.9, but I'm not sure how to best fix it:
> 
> We don't have (m)any matplotlib experts on the pandas team so I'm not sure either. If this will remain as a `UserWarning` I think that's _OK_ in the near term to leave (feel free to open a a pandas issue to follow up)

There is already #58851


