Illustration 3D d'une matrice
Bonjour,
Je dispose d'une matrice de données expérimentales telles que la première colonne représente les X, la première ligne les Y et l'intérieur de la matrice les Z :
Savez vous comment représenter sur un graph 3D ce type de données?
Merci
Je dispose d'une matrice de données expérimentales telles que la première colonne représente les X, la première ligne les Y et l'intérieur de la matrice les Z :
y1 y2 y3 y4
x1 z1,1 z1,2 ... ...
x2 z2,1 z2,2
x3
x4
Savez vous comment représenter sur un graph 3D ce type de données?
Merci
2 réponses
-
non mais je sais qu'il y a des logiciels comme SCILAB ou MATLAB (et dans une moindre mesure XCAS) qui permettent sûrement d'arriver à tes fins. Plus qu'à trouver un tutoriel
-
Bonjour,
Généralement on utilise plutôt une heat map, qu'on obtient par exemple à l'aidematplotlib.pyplot.matshow
Exemple :
import matplotlib.pyplot matplotlib.pyplot.matshow([[1, 2], [2, 4]])
Il existe aussi des affichages en 3D, voir par exempleax.scatter3D
mais ce genre de graphiques sont généralement peu exploitables. Ce layout attend une séries de points 3D présentés sous la forme de trois vecteurs, correspondant respectivement aux coordonnées x, y, et z.
Pour convertir ta matrice sous ce format, tu peux faire ainsi :
import matplotlib.pyplot as plt a = [[1, 2], [2, 4]] # Must be a square matrix m = len(a) x, y, z = map( list, zip( *( (i, j, a[i][j]) for i in range(m) for j in range(m) ) ) ) print(x, y, z) # [0, 0, 1, 1], [0, 1, 0, 1], [1, 2, 3, 4] fig = plt.figure() ax = plt.axes(projection='3d') ax.scatter3D(x, y, z)
Bonne chance