2017-11-15 1 views
0

Ich versuche, den 3D-Plot mit matplotlibKein Modul mit dem Namen Externen in mplot3d

mit mpl_toolkits.mplot3d.Axes3D sichtbar zu machen

ich verwende Python 3 mit matplot Version '2.1.0' und Scikit-Learn verison 0.19.0 . Wenn ich den Code ausführen wird es den folgenden Fehler erzeugt,

from matplotlib.externals import six 
ImportError: No module named 'matplotlib.externals' 

Ich habe versucht, dieses Problem zu lösen, indem bestehende matplotlib entfernen und wieder installieren, ohne Erfolg.

Ich versuche, diesen Code auszuführen

import numpy as np 
import mglearn 
import matplotlib.pyplot as plt 
from sklearn.datasets import make_blobs 
from mpl_toolkits.mplot3d import Axes3D, axes3d 


X, y = make_blobs(centers=4, random_state=8) 
y = y % 2 

X_new = np.hstack([X, X[:, 1:] ** 2]) 

figure = plt.figure() 
ax = Axes3D(figure, elev=-152, azim=-26) 
# plot first all the points with y == 0, then all with y == 1 
mask = y == 0 
ax.scatter(X_new[mask, 0], X_new[mask, 1], X_new[mask, 2], c='b', cmap=mglearn.cm2, s=60) 
ax.scatter(X_new[mask, 0], X_new[mask, 1], X_new[mask, 2], c='r', marker='^', cmap=mglearn.cm2, s=60) 
ax.set_xlabel("feature0") 
ax.set_ylabel("feature1") 
ax.set_zlabel("feature1 ** 2") 

plt.show() 

Error log after installing sabron package 
The minimum supported version is 2.4.6 

    ver=ver, min_ver=_MIN_NUMEXPR_VERSION), UserWarning) 
Traceback (most recent call last): 
    File "/home/asif/ml-codes/matpolitlib-tutorials/example-two.py", line 5, in <module> 
    from mpl_toolkits.mplot3d import Axes3D, axes3d 
    File "/usr/lib/python3/dist-packages/mpl_toolkits/mplot3d/__init__.py", line 4, in <module> 
    from matplotlib.externals import six 
ImportError: No module named 'matplotlib.externals' 
+0

hast du das gesehen https://github.com/matplotlib/matplotlib/issues/5633/ – Radan

+0

ja, er benutzt Anaconda, aber ich benutze keine Anaconda –

+1

hast du dieses versucht? https://stackoverflow.com/questions/45103248/importerror-no-module-named-matplotlib-externals – Radan

Antwort

0

Execute:

sudo apt-get remove python3-matplotlib 

Dies entfernt die Version, die in /usr/lib/python3/dist-packages/ nach Ihrem Fehlerprotokoll befindet.

+0

danke es funktioniert, @Pierre de Buy !, aber jetzt erreicht folgende Warnung /usr/local/lib/python3.5/ dist-packages/pandas/core/computation/__ init__.py:18: UserWarning: Die installierte Version von nexpr 2.4.3 wird in Pandas nicht unterstützt und wird nicht verwendet Die minimal unterstützte Version ist 2.4.6 ver = ver, min_ver = _MIN_NUMEXPR_VERSION), UserWarning) –

+0

warum pandas Paketkonflikt mit numexpr 2.4.3 ?? –

+0

Ich kenne den Grund des Konflikts nicht, aber das Rezept ist ähnlich. Versuche, Pandas mit 'sudo apt-get remove python3-pandas' zu deinstallieren und installiere stattdessen über pip. Es sollte auch das aktuelle numexpr herunterladen. –

Verwandte Themen