Partage
  • Partager sur Facebook
  • Partager sur Twitter

Coder chaque élément d'une liste en une figure

pylab

Sujet résolu
    27 janvier 2015 à 11:48:05

    Bonjour, 

    Voilà mon problème :

    Je voudrai faire un programme qui code une liste tel que : [0,1,0,0,1,0,1] en une série de rectangle avec la bibliothèque pylab

    Par exemple, je veux un rectangle noir pour 0 et un rectangle rouge pour 1

    Ces rectangles se mettrai à la suite : donc ici, un rectangle noir/rouge/noir/noir/rouge/noir/rouge

    Merci !!

    • Partager sur Facebook
    • Partager sur Twitter
      27 janvier 2015 à 13:17:35

      Salut

      Tu ne peux pas faire quelque chose comme :

      liste = list()
      
      for n in [0, 1, 0, 0, 1, 0, 1]:
          if n == 0:
              liste.append(creation_rectangle_noir())
          if n == 1:
              liste.append(creation_rectangle_rouge())
      
      #Affichage des rectangles
      
      for instance in liste:
          instance.affichage()


      A savoir que je ne sais même pas ce qu'est pylab, mais ici c'est plus un cheminement de pensée que je te montre ^^

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        27 janvier 2015 à 14:46:57

        C'est plus difficile que ça, car il faudrait expliquer sous quel contexte sont construis les rectangles selon leurs coordonnées et que fais-tu de leurs tailles (sont-ils tous de même taille ?)

        • Partager sur Facebook
        • Partager sur Twitter
          27 janvier 2015 à 15:02:27

          Je voudrai un programme qui me retourne cela :

          c'est à dire qu'il coderai les 0 en un rectangle noir et le 1 en rectangle rouge 

          Ils sont tous de memes tailles 

          import pylab as pb
          
          a=pb.subplot(1,1,1)
          pb.xlim(-4,100)
          pb.ylim(-4,10)
          pb.title('rectangle rouge noir')
          obj1=pb.Rectangle((0,0),1,16,fill=True,color='black')
          a.add_patch(obj1)
          obj2=pb.Rectangle((1,0),1,16,fill=True,color='red')
          a.add_patch(obj2)
          obj3=pb.Rectangle((2,0),1,16,fill=True,color='black')
          a.add_patch(obj3)
          obj4=pb.Rectangle((3,0),3,16,fill=True,color='black')
          a.add_patch(obj4)
          obj5=pb.Rectangle((4,0),1,16,fill=True,color='red')
          a.add_patch(obj5)
          obj6=pb.Rectangle((5,0),1,16,fill=True,color='black')
          a.add_patch(obj6)
          obj7=pb.Rectangle((6,0),1,16,fill=True,color='red')
          a.add_patch(obj7)
          
          
          pb.show()



          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            27 janvier 2015 à 15:39:53

            Alors oui on peut faire mieux, on voit que le paramètre important est la couleur du rectangle.

            COLORS = ('black', 'red')
            
            myListColors = (0, 1, 0, 0, 1, 0, 1)
            
            for i, color in enumerate(myListColors):
                obj = pb.Rectangle((i, 0), 1, 16, fill=True, color=COLORS[color])
                a.add_patch(obj)



            -
            Edité par Anonyme 27 janvier 2015 à 15:42:11

            • Partager sur Facebook
            • Partager sur Twitter

            Coder chaque élément d'une liste en une figure

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown