Salut les pythons,
je n'arrive pas a implémenter un bar3d afin que chaque case de taille égale en X et Y soit remplis.
Tous ce que j'arrive a faire est d'avoir une diagonal de barres en 3D.
Le problème est que si je change la valeur de dx ou dy les bars sont dégénérer en termes de longueur,largeur...????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from random import uniform, randint ############################################### # The problem is that i cannot generate bars # # at every square from the display: only at # # the diagonal. # ############################################### fig = plt.figure() subplot = fig.gca(projection="3d") X = np.linspace(0, 25, 25) # Generate 25 points in range 0-25. Y = np.linspace(0, 25, 25) # Generate 25 points in range 0-25. Z = np.linspace(0 ,25, 25) # Generate 25 points in range 0-25. dx = [] dy = [] dz = [] for v in range(0, 26) : dx.append(1) # If i set another value bigger than 1 the bar width,height is not uniform to the scalar. dy.append(1) # If i set another value bigger than 1 the bar width,height is not uniform to the scalar. dz.append(randint(0,70)) # Setting the bar height. subplot.bar3d(X, Y, Z, dx, dy, dz) subplot.set_xticks([]) # X axes values marks. subplot.set_yticks([]) # Y axes values marks. plt.show()
Et donc je n'arrive pas a préciser les coordonnées en X et Y pour les autres cases que la diagonale.
C'est pourtant l'utilisation la plus logique d'un bar3d: un carrelage de barres en hauteurs, sur toute la surface.
Toute aide est la bienvenue.
Merci pour vos réponses éclairés et votre aide précieuse.
Partager