Reputation: 46745
I'm getting the following error:
TypeError Traceback (most recent call last)
~/.local/share/miniconda3/lib/python3.6/site-packages/matplotlib/colors.py in to_rgba(c, alpha)
154 try:
--> 155 rgba = _colors_full_map.cache[c, alpha]
156 except (KeyError, TypeError): # Not in cache, or unhashable.
TypeError: unhashable type: 'numpy.ndarray'
The code in question is from a .ipynb
downloaded from Coursera.
It works fine on their system, but it seems that I have a library versioning problem locally.
The code is:
plt.scatter(X[0, :], X[1, :], c=y, cmap=plt.cm.Spectral)
Upvotes: 6
Views: 9514
Reputation: 46745
Change:
plt.scatter(X[0, :], X[1, :], c=y, cmap=plt.cm.Spectral)
to:
plt.scatter(X[0, :], X[1, :], c=y.ravel().tolist(), cmap=plt.cm.Spectral)
This flattens the array y
to be one-dimensional, and then turns it into a list, which to_rgba
is happy to digest as something it can hash.
Coursera Deep Learning students:
You'll likely find the offending line(s) of code in one of the *util*.py
files. Look for scatter
in the traceback to get the filename.
I saw this question raised about 8 times on the forum. Please upvote both question and answer if they've been useful.
Upvotes: 16