2015-04-17 1 views
0

Il existe un exemple de la façon de construire un diagramme à barres au bas de cette question tirée du site matplotlib.Comment remplir la profondeur de traçage de barres mplot3d? [Python 3.x]

Je ne trouve pas de paramètre pour augmenter la profondeur de chaque barre. Je veux que la profondeur me donne un aspect 3D comme this picture.

Y a-t-il un paramètre de fonction pour changer cela que je ne vois pas, ou ai-je besoin d'utiliser une autre fonction de tracé 3D?

est Ci-dessous le code de tracé de la barre du premier lien au cas où quelqu'un ne peut pas le voir:

from mpl_toolkits.mplot3d import Axes3D 
import matplotlib.pyplot as plt 
import numpy as np 

fig = plt.figure() 
ax = fig.add_subplot(111, projection='3d') 
for c, z in zip(['r', 'g', 'b', 'y'], [30, 20, 10, 0]): 
    xs = np.arange(20) 
    ys = np.random.rand(20) 

    # You can provide either a single color or an array. To demonstrate this, 
    # the first bar of each set will be colored cyan. 
    cs = [c] * len(xs) 
    cs[0] = 'c' 
    ax.bar(xs, ys, zs=z, zdir='y', color=cs, alpha=0.8) 

ax.set_xlabel('X') 
ax.set_ylabel('Y') 
ax.set_zlabel('Z') 

plt.show() 

J'ai trouvé this link to a solution mais cette solution ne fait pas augmenter la profondeur. J'espère une méthode pour remplir complètement la profondeur si possible.

Répondre

0

Voulez-vous quelque chose comme le code dans this answer? Ils utilisent bar3d(), mais les emplacements de chaque barre sont créés manuellement avec meshgrid.

+0

@PhillyAl n'est pas la réponse liée à l'endroit à partir duquel vous avez obtenu l'image que vous avez liée dans votre question !? – hitzg

+0

Ouais exactement, c'est ce que je pensais aussi; Je n'arrive pas à comprendre pourquoi ce code ne fait pas ce que PhillyAl recherche. Peut-être que si la question est spécifiquement _il existe un paramètre de profondeur facile? _, Je suppose que la réponse est non. – hellobenallan