Issue 1:
Bug report

Bug summary

Setting maker in a scatter plot is causing ValueError

Code for reproduction

import matplotlib.pyplot as plt
f = plt.figure()
s = plt.scatter([1, 2, 3], [4, 5, 6], marker="")

removing the marker option plots the scatter graph. I refered to the docs for valid marker options text shorthand and it seems none of them work.

Actual outcome

<matplotlib.collections.PathCollection at 0x7f9d2bd8cee0>
...
ValueError: zero-size array to reduction operation minimum which has no identity

<Figure size 432x288 with 1 Axes>

Expected outcome

Matplotlib version

Operating system: OS X

Matplotlib version: 3.3.1

Matplotlib backend (print(matplotlib.get_backend())): module://ipykernel.pylab.backend_inline

Python version: 3.8

Jupyter version (if applicable):

Other libraries: 1.19.1

used conda with the following environment.yml file

name: qe-lectures
channels:
- default
- conda-forge
dependencies:
- pip
- python
- jupyter
- jupyterlab
- nbconvert
- pandoc
- pandas
- numba
- numpy
- matplotlib
- networkx
- sphinx=2.4.4
- scikit-learn
- statsmodels
- seaborn
- scipy
- sympy
- pip:
- interpolation
- sphinxcontrib-jupyter
- sphinxcontrib-bibtex
- joblib

Issue 2:
Bug report

Bug summary

plt.scatter() raises upon drawing when called with marker='' (no errors with 3.3.0).

This change of behavior broke seaborn.

Code for reproduction

import matplotlib.pyplot as plt
plt.scatter([], [], marker='') # fails also with plt.scatter([1,2,3], [1,2,3], marker='')
plt.show()

Actual outcome

Traceback (most recent call last):
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/backends/backend_macosx.py", line 61, in _draw
self.figure.draw(renderer)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/artist.py", line 41, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/figure.py", line 1863, in draw
mimage._draw_list_compositing_images(
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/image.py", line 131, in _draw_list_compositing_images
a.draw(renderer)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/artist.py", line 41, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/cbook/deprecation.py", line 411, in wrapper
return func(*inner_args, **inner_kwargs)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/axes/_base.py", line 2748, in draw
mimage._draw_list_compositing_images(renderer, self, artists)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/image.py", line 131, in _draw_list_compositing_images
a.draw(renderer)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/artist.py", line 41, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/collections.py", line 931, in draw
Collection.draw(self, renderer)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/artist.py", line 41, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/collections.py", line 385, in draw
extents = paths[0].get_extents(combined_transform)
File "/Users/maoz/.local/lib/python3.8/site-packages/matplotlib/path.py", line 603, in get_extents
return Bbox([xys.min(axis=0), xys.max(axis=0)])
File "/Users/maoz/miniconda/envs/seaborn_devenv/lib/python3.8/site-packages/numpy/core/_methods.py", line 43, in _amin
return umr_minimum(a, axis, None, out, keepdims, initial, where)
ValueError: zero-size array to reduction operation minimum which has no identity

Expected outcome

Not to fail.

Matplotlib version

Operating system: MacOS

Matplotlib version: 3.3.1

Matplotlib backend (print(matplotlib.get_backend())): MacOSX (also reproduces with %inline)

Python version: 3.8.3

Jupyter version (if applicable):

Other libraries: numpy 1.19.1

matplotlib installed through pip