Closed
Description
Bug report
Affects: commit 7b5ff33 (master, 23 Aug 2018)
An attempt to plot a single point at coords (2,3) with RGB color (120,130,140) throws an error message remarking about argument shapes mismatching. Message should be about RGB values outside range 0 to 1.
Code for reproduction
ax.scatter(np.array([2]), np.array([3]), c=np.array([[120,130,140]]))
ValueError: c of shape (1, 3) not acceptable as a color sequence for x with size 1, y with size 1
This is ok:
ax.scatter(np.array([2]), np.array([3]), c=np.array([[120,130,140]]) / 255.0 )
Actual outcome
See above.
Expected outcome
Suggestion: error message could be about RGB values outside of 0 to 1 range.
Trace
File "/home/d/code/matplotlib/lib/matplotlib/axes/_axes.py", line 4223, in scatter
.format(nc=n_elem, xs=x.size, ys=y.size)
ValueError: 'c' argument has 3 elements, which is not acceptable for use with 'x' with size 1, 'y' with size 1.
python 2 gives slightly different trace:
/home/d/.conda/envs/py2_dp/lib/python2.7/site-packages/matplotlib-2.2.2-py2.7-linux-x86_64.egg/matplotlib/axes/_axes.pyc in scatter(self, x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, verts, edgecolors, **kwargs)
4277 raise ValueError("c of shape {} not acceptable as a color "
4278 "sequence for x with size {}, y with size {}"
-> 4279 .format(c.shape, x.size, y.size))
4280 else:
4281 colors = None # use cmap, norm after collection is created
ValueError: c of shape (1, 3) not acceptable as a color sequence for x with size 1, y with size 1
Matplotlib version
- Operating system: Ubuntu 16.04
- Matplotlib version: commit 7b5ff33 (master, 23 Aug 2018)
- Matplotlib backend (
print(matplotlib.get_backend())
): <object object at 0x7f8885d87190> - Python version: 3.5.5
- Jupyter version (if applicable): none
- Other libraries: numpy
How I installed matplotlib:
- Create new conda env with python 3.5.5
- git clone matplotlib master
- pip install -e /path/to/cloned-repo
akilat90