Seite 1 von 1

3d barplot

Verfasst: Sonntag 30. Juni 2019, 14:18
von topy
Hey Leute,
wenn ich folgenden Code ausführe, bekomme ich den Fehler "name 'bar3d' is not defined". Dabei müssten alle nötigen Pakete eingebunden und Installiert seien.

Code: Alles auswählen

import pandas as pd
import numpy as np
from scipy.stats import multivariate_normal
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(color_codes=True)
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax1 = fig.add_subplot(111,projection = '3d')
xpos = [1,2,3,4,5,6,7,8,9,10]
ypos = [2,3,4,5,1,6,2,1,7,2]
zpos = [0,0,0,0,0,0,0,0,0,0]
dx = np.ones(10)
dy = np.ones(10)
dz = [1,2,3,4,5,6,7,8,9,10]

ax1 = bar3d(xpos,ypos,zpos,dx,dy,dz, color = 'red')

plt.show()
Die Fehlermeldung sieht dann folgendermaßen aus:

Code: Alles auswählen

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-2-5278d6536204> in <module>
      8 dz = [1,2,3,4,5,6,7,8,9,10]
      9 
---> 10 ax1 = bar3d(xpos,ypos,zpos,dx,dy,dz, color = 'red')
     11 
     12 plt.show()

NameError: name 'bar3d' is not defined
Danke schonmal im Voraus

Re: 3d barplot

Verfasst: Sonntag 30. Juni 2019, 14:23
von sparrow
topy hat geschrieben: Sonntag 30. Juni 2019, 14:18Dabei müssten alle nötigen Pakete eingebunden und Installiert seien.
Und wo genau importierst du etwas oder bindest etwas an den Namen "bar3d"?
Denn der Fehler sagt ja, dass es nichts mit dem Namen gibt. Ich sehe da im Code auch nichts.

Re: 3d barplot

Verfasst: Sonntag 30. Juni 2019, 14:28
von topy
Wenn ich das richtig verstanden habe wird das durch mpl_toolkits.mplot3d eingebunden

Re: 3d barplot

Verfasst: Sonntag 30. Juni 2019, 14:47
von sparrow
Es gibt keine Magie, mit der Namen in Namensräumen auftauchen (außer *-Importe, die man aus genau dem Grund nicht verwendet).

Re: 3d barplot

Verfasst: Sonntag 30. Juni 2019, 15:44
von ThomasL

Re: 3d barplot

Verfasst: Sonntag 30. Juni 2019, 16:13
von snafu
topy hat geschrieben: Sonntag 30. Juni 2019, 14:28 Wenn ich das richtig verstanden habe wird das durch mpl_toolkits.mplot3d eingebunden
Nicht so ganz. Du bindest Axes3D aus dem Modul ein. Einen Aufruf musst du dann aber mit Axes3D() machen. Wenn du andere Klassen benötigst, dann musst du das auch beim Import so angeben oder alternativ die Klassen über den Namensraum des Moduls ansprechen.