Histogramme Dictionnaire
Sun
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterais savoir comment plot un dictionnaire. J'ai vu énormément de Forum sur cette question mais qui traitait d'une valeur dans une clé d'un dictionnaire. Pour illustrer voici un exemple de script:
D ={1:[300, 345,350], 2:[400, 299],... 13:{[450, 500,350,400]# ces valeurs sont inventées pour aller plus vite car les matrices sont grandes
plt.bar(D.keys(), D.values(), width, color='b'')
plt.xlabel('Classes')
plt.ylabel('Températures de surface (en K)')
plt.title('Distribution des classes de températures de surface en Kelvin par moyenne')
Je sais que je ne suis pas loin.. Il me suffit d'un petit coup de pouce svp!
Merciii, cordialement.
Je souhaiterais savoir comment plot un dictionnaire. J'ai vu énormément de Forum sur cette question mais qui traitait d'une valeur dans une clé d'un dictionnaire. Pour illustrer voici un exemple de script:
D ={1:[300, 345,350], 2:[400, 299],... 13:{[450, 500,350,400]# ces valeurs sont inventées pour aller plus vite car les matrices sont grandes
plt.bar(D.keys(), D.values(), width, color='b'')
plt.xlabel('Classes')
plt.ylabel('Températures de surface (en K)')
plt.title('Distribution des classes de températures de surface en Kelvin par moyenne')
Je sais que je ne suis pas loin.. Il me suffit d'un petit coup de pouce svp!
Merciii, cordialement.
A voir également:
- Histogramme Dictionnaire
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Télécharger dictionnaire médical larousse gratuit pdf - Télécharger - Dictionnaires & Langues
- Dictionnaire synonyme gratuit - Télécharger - Études & Formations
- Télécharger dictionnaire informatique gratuit pdf - Télécharger - Bureautique
- Télécharger dictionnaire français gratuit pdf - Télécharger - Bureautique
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
es-tu certain d'avoir partagé tout ton programme?
merci d'utiliser les balises: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
es-tu certain d'avoir partagé tout ton programme?
merci d'utiliser les balises: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
classif = 'chemin d'accès'
ds = gdal.Open(classif)
cols = ds.RasterXSize
rows = ds.RasterYSize
band= ds.RasterCount
db = ds.GetRasterBand(1)
bandtype = gdal.GetDataTypeName(db.DataType)
classif = db.ReadAsArray(0, 0, cols, rows).astype(np.int)
Ts_jour= 'chemin d'accès'
ds2 = gdal.Open(Ts_jour)
cols2 = ds2.RasterXSize
rows2 = ds2.RasterYSize
band2= ds2.RasterCount
db2 = ds2.GetRasterBand(1)
bandtype2 = gdal.GetDataTypeName(db2.DataType)
Ts_jour = db2.ReadAsArray(0, 0, cols2, rows2).astype(np.int)
##Attribuer indices de classif à Ts
vecteur_Ts_classe={}
for x in range(1,14):
[cols,rows] = np.where(classif==x) #chercher dans la matrice de classif par exemple classe 1 et l'implémenter dans un vecteur
vecteur_Ts_classe[x] = Ts_jour[cols,rows] #on assigne le vecteur à une matrice où il y a les températures
- Le dictionnaire est sous cette forme : {1: array([300, 300, 300, ..., 299, 299, 299]), 2: array([310, 306, 310, ..., 314, 311, 311]), 3: array([303, 303, 303, ..., 307, 307, 310]), 4: array([307, 307, 308, ..., 311, 310, 308]), 5: array([323, 323, 323, ..., 328, 330, 331]), 6: array([313, 311, 309, ..., 318, 322, 318]), 7: array([320, 316, 315, ..., 323, 324, 323]), 8: array([312, 312, 312, ..., 320, 313, 315]), 9: array([314, 314, 316, ..., 330, 330, 331]), 10: array([313, 313, 316, ..., 313, 314, 314]), 11: array([316, 316, 311, ..., 322, 320, 319]), 12: array([311, 309, 319, ..., 320, 324, 321]), 13: array([302, 302, 303, ..., 304, 303, 303])}
#Histogramme
plt.bar(list(vecteur_Ts_classe()), vecteur_Ts_classe.values(), align ='center')
plt.xticks(list(vecteur_Ts_classe()), vecteur_Ts_classe.keys())
plt.margins(0.05,0)
plt.show()
- Mon message d'erreur : ValueError: setting an array element with a sequence.
- Je souhaite réaliser un histogramme des valeurs (300,300 etc..) en fonction de leur classe 1,2,3,4 etc... Est-ce envisageable ?
- Mes classes ne sont pas de même longueur cad que pour la classe 1 j'ai 5000 valeurs par exemple et la classe 2 j'en ai 3000 valeurs
ds = gdal.Open(classif)
cols = ds.RasterXSize
rows = ds.RasterYSize
band= ds.RasterCount
db = ds.GetRasterBand(1)
bandtype = gdal.GetDataTypeName(db.DataType)
classif = db.ReadAsArray(0, 0, cols, rows).astype(np.int)
Ts_jour= 'chemin d'accès'
ds2 = gdal.Open(Ts_jour)
cols2 = ds2.RasterXSize
rows2 = ds2.RasterYSize
band2= ds2.RasterCount
db2 = ds2.GetRasterBand(1)
bandtype2 = gdal.GetDataTypeName(db2.DataType)
Ts_jour = db2.ReadAsArray(0, 0, cols2, rows2).astype(np.int)
##Attribuer indices de classif à Ts
vecteur_Ts_classe={}
for x in range(1,14):
[cols,rows] = np.where(classif==x) #chercher dans la matrice de classif par exemple classe 1 et l'implémenter dans un vecteur
vecteur_Ts_classe[x] = Ts_jour[cols,rows] #on assigne le vecteur à une matrice où il y a les températures
- Le dictionnaire est sous cette forme : {1: array([300, 300, 300, ..., 299, 299, 299]), 2: array([310, 306, 310, ..., 314, 311, 311]), 3: array([303, 303, 303, ..., 307, 307, 310]), 4: array([307, 307, 308, ..., 311, 310, 308]), 5: array([323, 323, 323, ..., 328, 330, 331]), 6: array([313, 311, 309, ..., 318, 322, 318]), 7: array([320, 316, 315, ..., 323, 324, 323]), 8: array([312, 312, 312, ..., 320, 313, 315]), 9: array([314, 314, 316, ..., 330, 330, 331]), 10: array([313, 313, 316, ..., 313, 314, 314]), 11: array([316, 316, 311, ..., 322, 320, 319]), 12: array([311, 309, 319, ..., 320, 324, 321]), 13: array([302, 302, 303, ..., 304, 303, 303])}
#Histogramme
plt.bar(list(vecteur_Ts_classe()), vecteur_Ts_classe.values(), align ='center')
plt.xticks(list(vecteur_Ts_classe()), vecteur_Ts_classe.keys())
plt.margins(0.05,0)
plt.show()
- Mon message d'erreur : ValueError: setting an array element with a sequence.
- Je souhaite réaliser un histogramme des valeurs (300,300 etc..) en fonction de leur classe 1,2,3,4 etc... Est-ce envisageable ?
- Mes classes ne sont pas de même longueur cad que pour la classe 1 j'ai 5000 valeurs par exemple et la classe 2 j'en ai 3000 valeurs
merci d'utiliser les balises: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
et, ensuite, de préciser à quelle ligne tu obtiens le message d'erreur
et, ensuite, de préciser à quelle ligne tu obtiens le message d'erreur