python --Exporte l'histogramme bidimensionnel par Matplotlib sous forme de tableau

La méthode de dessin d'un histogramme bidimensionnel avec python est célèbre en utilisant Matplotlib ou OpenCV.

Dans cet article, lors de la création d'un histogramme 2D avec Matplotlib, notez comment exporter l'histogramme sous forme de tableau 2D vers un fichier texte.

[Python] Histogramme bidimensionnel avec Matplotlib

L'article de @ Supersaiakujin est recommandé pour savoir comment créer une image d'histogramme en deux dimensions à l'aide de Matplotlib.

[Python] Comment créer un histogramme bidimensionnel avec Matplotlib

Le plan est de créer un histogramme bidimensionnel en passant deux tableaux numpy qui sont les données d'origine à la fonction "hist2d" de la bibliothèque "Matplotlib".

Il est à noter qu'il est nécessaire de créer "un tableau avec seulement des coordonnées x" et "un tableau avec seulement des coordonnées y" pour les deux tableaux numpy qui sont les données d'origine, respectivement.

Figure_1.png Un tel histogramme bidimensionnel peut être écrit avec l'exemple de programme suivant.

hist2d


import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm

#données brutes
x = (1.1,1.1,3.2,3.1,1.1,2.1,1.1)
y = (-1.1,-2.1,-2.1,-2.1,-3.1,-2.1,-2.1)

#Préparation pour le dessin graphique
fig = plt.figure()
ax = fig.add_subplot(111)

#Créer un histogramme hist2d(Tableau,Tableau,Spécifier la plage de dessin(Limite inférieure, limite supérieure, nombre de divisions),Spécification de la teinte de la barre de couleur)
H = ax.hist2d(x,y, bins=[np.linspace(-5,5,10),np.linspace(-5,5,10)], cmap=cm.jet)
ax.set_title('1st graph')
ax.set_xlabel('x')
ax.set_ylabel('y')
fig.colorbar(H[3],ax=ax)
plt.show()

Exporter les valeurs de l'histogramme bidimensionnel sous forme de tableau

La fonction save de numpy est pratique pour écrire les valeurs de l'histogramme bidimensionnel sous forme de tableau dans un fichier texte ou csv.

savetxt


#Créer un histogramme hist2d(Tableau,Tableau,Spécifier la plage de dessin(Limite inférieure, limite supérieure, nombre de divisions),Spécification de la teinte de la barre de couleur)
H = ax.hist2d(x,y, bins=[np.linspace(-5,5,10),np.linspace(-5,5,10)], cmap=cm.jet)
np.savetxt("2Dhist-array.txt", H[0], fmt = "%s")

Si vous vérifiez la valeur de retour de hist2d dans le manuel officiel de Matplotlib, vous pouvez voir que la première valeur de retour est la valeur de l'histogramme. Par conséquent, H [0] est retiré.

fmt = "% s" est un format de chaîne.

hist2d
H[0] La valeur de l'histogramme(Un tableau bidimensionnel)
H[1] valeur de division sur l'axe des x (tableau unidimensionnel)
H[2] Valeur de division sur l'axe Y (tableau unidimensionnel)
H[3] Informations sur la barre de couleur(QuadMesh)

Matplotlib.pyplot.hist2d

#Créer un histogramme hist2d(Tableau,Tableau,Spécifier la plage de dessin(Limite inférieure, limite supérieure, nombre de divisions),Spécification de la teinte de la barre de couleur)
H = ax.hist2d(x,y, bins=[np.linspace(-5,5,10),np.linspace(-5,5,10)], cmap=cm.jet)
print(H[0])
>>>[[0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 1. 2. 1. 0. 0. 0. 0. 0.]
 [0. 0. 1. 0. 0. 0. 0. 0. 0.]
 [0. 0. 2. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0.]]

En ce qui concerne le tableau de sortie, un tableau unidimensionnel est généré le long de l'axe y.

J'ai rassemblé ce code.

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm

#données brutes
x = (1.1,1.1,3.2,3.1,1.1,2.1,1.1)
y = (-1.1,-2.1,-2.1,-2.1,-3.1,-2.1,-2.1)

#Préparation pour le dessin graphique
fig = plt.figure()
ax = fig.add_subplot(111)

#Créer un histogramme hist2d(Tableau,Tableau,Spécifier la plage de dessin,Spécification de la teinte de la barre de couleur)
H = ax.hist2d(x,y, bins=[np.linspace(-5,5,10),np.linspace(-5,5,10)], cmap=cm.jet)
ax.set_title('1st graph')
ax.set_xlabel('x')
ax.set_ylabel('y')
fig.colorbar(H[3],ax=ax)
plt.show()

#Exporter l'histogramme 2D dans un fichier texte
np.savetxt("2Dhist-array.txt", H[0], fmt = "%s")

Recommended Posts

python --Exporte l'histogramme bidimensionnel par Matplotlib sous forme de tableau
[Calcul scientifique / technique par Python] histogramme, visualisation, matplotlib
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
Tri rapide d'un tableau en Python 3
Python: image de tableau 3D (numpy.array)
Superposition transparente de l'histogramme par Matplotlib
Piège de tableau bidimensionnel Python [copie du tableau]
Python> lien> Initialisation et affectation de tableaux 2D
Exemple d'analyse de squelette tridimensionnelle par Python
Créez une application qui saisit, affiche et supprime des formulaires à l'aide de Python / Flask au lieu de DB.
[Calcul scientifique / technique par Python] Tracer, visualiser, matplotlib des données 2D avec barre d'erreur
[Calcul scientifique / technique par Python] Dessin de surface courbe 3D, surface, fil de fer, visualisation, matplotlib
[Python] axe limite du graphe 3D avec Matplotlib
[Python] Comment dessiner un histogramme avec Matplotlib
Créer un diagramme de dispersion 3D avec SciPy + matplotlib (Python)
Aplatir une liste standard bidimensionnelle irrégulière en Python
[Calcul scientifique / technique par Python] Tracé, visualisation, matplotlib de données 2D lues à partir d'un fichier
[Calcul scientifique / technique par Python] Dessin, visualisation, matplotlib de lignes de contour 2D (couleur), etc.