IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

[Matplotlib] Besoin d'aide affichage avec Matplotlib


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Matplotlib] Besoin d'aide affichage avec Matplotlib
    Bonjour, je suis étudiant et nouveau sur ce forum; j'espère ne pas m'être trompé d'endroit pour demander de l'aide.

    Je dois réaliser un jeu de la forêt: le but est d'observer la propagation du feu en fonction de la densité de la forêt. J'ai déjà codé la propagation de l'incendie mais je suis désormais bloqué à l'affichage : afficher avec le module matplotlib de python une carte composée de cases de différentes couleurs en fonction de leu état : vide, arbre en vie, arbre en feu ou case en cendres à partir d'un tableau d'une taille variable composé des valeurs 0,1,2 et 3 qui représentent les état dont j'ai parlé précédemment.
    J'ai déjà vu qu'il y avait des "heatmap" mais c'est à chaque fois pour visualiser un diagramme 3D en 2D avec un dégradé de couleurs.
    J'ai écrit ce bout de code qui fonctionne mais je n'arrive pas a contrôler ce qui est affiché :

    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
    import matplotlib.pyplot as plt
    import numpy as np
    import matplotlib.colors
     
    x = np.linspace(0,4,4)
    y = np.linspace(0,4,4)
    XX, YY = np.meshgrid(x, y)
    Z = CreaGrille(4,0.25) #(fonction définie au dessus qui créé un tableau de 4x4 composé de 0 et de 1(à 25% ici)) 
    print(Z)
     
    cmap =  matplotlib.colors.ListedColormap(['w','g','r','k'])
    boundaries = [0,0.9,1.9,2.9]
    norm =  matplotlib.colors.BoundaryNorm(boundaries, cmap.N, clip=True)
     
    plt.pcolormesh(x,y,Z, cmap=cmap, norm=norm)
    plt.show()
    J'aurais également aimé renversé l'axe y.

    GoldenCraft

  2. #2
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 654
    Points : 1 150
    Points
    1 150
    Par défaut
    Salut,

    J'ai testé le code. ça fonctionne bien chez moi. J'ai apporté quelques modifs pour tester :
    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
    import matplotlib.pyplot as plt
    import numpy as np
    import matplotlib.colors
     
    x = np.linspace(0, 4, 5)
    y = np.linspace(0, 4, 5)
    XX, YY = np.meshgrid(x, y)
     
    # 0 : pas d'arbre
    # 1 : arbre sain
    # 2 : arbre en feu
    # 3 : arbre brulé
    Z = np.array([
        [0, 1, 0, 0],
        [0, 0, 0, 0],
        [1, 1, 2, 3],
        [1, 0, 3, 3],
        ])
    print(Z)
     
    # Inversion de l'axe x
    Z = Z[::-1, :]
     
    cmap =  matplotlib.colors.ListedColormap(['w', 'g', 'r', 'grey'])
     
    plt.pcolormesh(x, y, Z, cmap=cmap)
    plt.show()
    Je n'ai pas vu l'intérêt de la norme, et j'ai corrigé la définition de x et de y.

    Je suppose que par la suite, tu voudrais faire varier les résultats. Je te conseille de regarder cet exemple :https://matplotlib.org/3.1.1/gallery...ider_demo.html. Je calculerais l'ensemble des grilles Z, les stockerais dans une liste puis les afficherais au fur et à mesure avec le slider.

    J

Discussions similaires

  1. [Python 3.X] Besoin d'aide , problème avec le mainloop() .
    Par XwolfY dans le forum Tkinter
    Réponses: 2
    Dernier message: 15/10/2016, 12h35
  2. [AC-2010] Besoin d'aide requête avec calcul de pourcentages
    Par jonsnow43 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/06/2014, 17h56
  3. besoin d'aide afficheur avec unity pro
    Par vidark dans le forum Automation
    Réponses: 2
    Dernier message: 26/04/2014, 17h55
  4. [MySQL] Besoin d'Aide Php avec Mysql
    Par Skin-Party dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/05/2012, 17h50
  5. besoin d'aide fonction avec fichier (debutant)
    Par boby61 dans le forum Débuter
    Réponses: 9
    Dernier message: 14/03/2005, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo