Partage
  • Partager sur Facebook
  • Partager sur Twitter

utiliser du latex dans les labels, titre, légendes

Sujet résolu
    19 septembre 2014 à 1:10:06

    Bonjour tous,

    j'ai une question surement très simple encore une fois mais je n'arrive pas à comprendre comment faire pour utiliser du latex dans tous le texte que l'on peut avoir à mettre dans un figure.

    J'ai regardé sur le net et il semblerait qu'il faille mettre  "text.usetex : True" mais je ne comprends pas où....

    pourriez vous me donner un exemple d'utilisation pour que je comprenne où mettre ce truc ?

    merci beaucoup !

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      19 septembre 2014 à 8:44:12

      De quoi parle-t-on? Matplotlib ?
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        19 septembre 2014 à 12:58:17

        Ok t'as pas un exemple simple de quelques lignes où ça fonctionne pas, qu'on corrige ?
        • Partager sur Facebook
        • Partager sur Twitter
          19 septembre 2014 à 13:29:32

          oui, bien sur. Voici un exemple de bout de code que j'utilise et qui fonctionne très bien (mis à part le latex) :

          #!/usr/bin/python
          # -*- coding: utf8 -*-
          #import scipy as sp
          import os
          import numpy as np
          import matplotlib.pyplot as plt
          import matplotlib as mpl
          plt.figure(1)
          for i in range(0,len(dirs),1):
              p=plt.plot(abscissesTemp,tempArray[beginP[i]:endP[i],1],colorVect[i],label=ref[i])
              plt.xlabel('X', fontsize=20)
              plt.ylabel('\epsilon', fontsize= 20)
              plt.legend(loc='upper left')
          plt.show()

          (j'ai viré la partie déclaration de variable car c'est un peu long et pas utile car lu à partir de fichiers texte)



          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            19 septembre 2014 à 13:46:09

            Je ne peux donc pas tester... pas grave, tu testeras

            #!/usr/bin/python
            # -*- coding: utf8 -*-
            #import scipy as sp
            import os
            import numpy as np
            import matplotlib.pyplot as plt
            import matplotlib as mpl
            plt.figure(1)
            
            mpl.rc('text', usetex=True)
            
            for i in range(0, len(dirs), 1):
                p=plt.plot(2,tempArray[beginP[i]:endP[i],1],colorVect[i],label=ref[i])
                plt.xlabel('X', fontsize=20)
                plt.ylabel(r'$\epsilon$', fontsize= 20)
                plt.legend(loc='upper left')
            plt.show()
            



            -
            Edité par Anonyme 19 septembre 2014 à 13:48:39

            • Partager sur Facebook
            • Partager sur Twitter
              22 septembre 2014 à 0:11:17

              excuse moi, je n'avais pas compris que tu voulais un cas test.

              Voici un exemple de code :

              #!/usr/bin/python
              # -*- coding: utf8 -*-
              import scipy as sp
              import numpy as np
              import matplotlib as mpl
              import matplotlib.pyplot as plt
              plt.figure(1)
              #plt.rc('text', usetex=True)
              x=np.array(range(1,10,1))
              y=np.array(range(3,12,1))
              p=plt.plot(x,y,"b")
              #plt.xlabel('X', fontsize=20)
              #plt.ylabel('$\epsilon$', fontsize= 20)
              plt.show()

              si je décommente les lignes commenté des problèmes apparaissent....

              pourrais tu me dire comment corriger ça stp ?

              merci beaucoup

              • Partager sur Facebook
              • Partager sur Twitter
                22 septembre 2014 à 8:45:37

                Salut,

                Je te donne ton code qui fonctionne. Regarde si c'est le comportement que tu souhaite.

                J'ai mis usetext=False, et j'ai rassemblé tes modules dans la bibliothèque pylab. Bibliothèquequi regroupe et numpy et matplotlib.

                import pylab as pl
                pl.figure(1)
                pl.rc('text', usetex=False)
                x=pl.arange(1,10)
                y=pl.arange(3,12)
                p=pl.plot(x,y,"b")
                pl.xlabel('X', fontsize=20)
                pl.ylabel('$\epsilon$', fontsize= 20)
                pl.show()

                PS: Je ne sais pas pourquoi ça fonctionne en mettant False.

                PS2: N'hésite pas à te servir des objets mis en place par numpy: pl.arange(1, 10) est mieux que pl.array(range(1, 10, 1))

                -
                Edité par Olygrim 22 septembre 2014 à 8:51:58

                • Partager sur Facebook
                • Partager sur Twitter
                Précepte: Le mieux est l'ennemi du bien
                Anonyme
                  22 septembre 2014 à 8:47:18

                  J'ai pas besoin de scipy dans ton exemple.

                  Sinon sans l'option usetex, juste pour voir, ça donne quoi cet exemple ci-dessous

                  #!/usr/bin/python
                  # -*- coding: utf8 -*-
                  
                  import numpy as np
                  import matplotlib as mpl
                  import matplotlib.pyplot as plt
                  
                  plt.figure(1)
                  
                  plt.xlabel('X', fontsize=20)
                  plt.ylabel('$\epsilon$', fontsize= 20)
                  
                  x=np.array(range(1,10,1))
                  y=np.array(range(3,12,1))
                  
                  p=plt.plot(x,y,"b")
                  
                  plt.show()



                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 septembre 2014 à 11:25:19

                    merci beaucoup pour vos exemples!!!!!!!!! ils fonctionnent tous les deux très bien. ;)

                    - par contre du coup je ne comprends pas à quoi sert:

                    pl.rc('text', usetex=False)

                    car en plus de ne pas être logique (un false à la place de true) ça ne s'avère pas nécessaire puisque le code de "oldProgrammer" fonctionne sans ça. cette page d'aide du coup est fausse ??:

                    http://matplotlib.org/users/usetex.html

                    - apparemment il suffisait juste de mettre des $ pour que ça fonctionne :lol:

                    - du coup j'en conclue que le rc ne sert à rien que les balises $ sont suffisantes pour le .tex

                    merci pour votre aide et bonne journée


                    • Partager sur Facebook
                    • Partager sur Twitter

                    utiliser du latex dans les labels, titre, légendes

                    × 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