Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Subplot]Diagramme circulaire

    5 mars 2021 à 11:14:20

    Bonjour 

    Je reviens vers vous suit e à un problème j'aimerais reproduire cette figure

    A partir de ce code 

    import os 
    import numpy as np 
    import matplotlib.pyplot as plt
    
    os.chdir('C:/Users/Jostofe/MIO')
    os.listdir(".")# verifier le contenu du repertoire
    tab=np.genfromtxt('C:/Users/Jostofe/MIO/data_cyto.csv',delimiter=';',skip_header=1)
    # verifier la taille
    tab.shape
    
    CryptoAb= tab[:,2]
    NanoAb=tab[:,8]
    PicoAb=tab[:,14]
    PredAb=tab[:,20]
    ProchloroAb=tab[:,26]
    SynAb=tab[:,32]
    BactAb=tab[:,38]
    
    #On enleve les nan
    CryptoAb1=CryptoAb[np.logical_not(np.isnan(CryptoAb))]
    NanoAb1=NanoAb[np.logical_not(np.isnan(NanoAb))]
    PicoAb1=PicoAb[np.logical_not(np.isnan(PicoAb))]
    PredAb1=PredAb[np.logical_not(np.isnan(PredAb))]
    ProchloroAb1=ProchloroAb[np.logical_not(np.isnan(ProchloroAb))]
    SynAb1=SynAb[np.logical_not(np.isnan(SynAb))]
    BactAb1=BactAb[np.logical_not(np.isnan(BactAb))]
    
    
    
    
    mois=["octobre 2013","novembre 2013", "décembre 2013","janvier 2014","février 2014","mars 2014","avril 2014","mai 2014","juin 2014","juillet 2014","Aout 2014","Septembre 2014","Octobre 2014","Novembre 2014","Decembre 2014","janvier 2015","Fevrier 2015","Mars 2015","Avril2015","Mai 2015","Juin 2015","Juillet 2015","Aout 2015","Septembre 2015","octobre 2015","Novembre 2015","Decembre 2015","Janvier 2016","fevrier 2016","Mars 2016","Avril 2016","mai 2016","Decembre 2016","Janvier 2017","fevrier 2017","mars 2017","avril 2017","mai 2017","juin 2017","juillet 2017","Aout 2017","Octobre 2017","Novembre 2017","Decembre 2017","janvier 2018","fevrier 2018","Mars 2018","Avril 2018","Mais 2018","Juin2018","Juillet 2018","Aout 2018","Septembre 2018","Novembre 2018","Decembre 2018","Fevrier 2019","Avril 2019","Juin 2019","Juillet 2019","Aout 2019","Septembre 2019","Novembre 2019","Decembre 2019","Janvier 2020","Fevrier 2020","Mai 2020","Juin 2020","Juillet 2020","Aout 2020"] #à compléter
    for i in range(1,141, 2): #pour i = 1 à i=5 (6-1) par pas de 2; à adapter
        CryptoAbPR=CryptoAb1[i]
        NanoAbPR=NanoAb1[i]
        PicoAbPR=PicoAb1[i]
        PredAbPR=PredAb1[i]
        ProchloroAbPR=ProchloroAb1[i]
        SynAbPR=SynAb1[i] 
          
        CryptoAbGR=CryptoAb1[i+1]
        NanoAbGR=NanoAb1[i+1]
        PicoAbGR=PicoAb1[i+1]
        PredAbGR=PredAb1[i+1]
        ProchloroAbGR=ProchloroAb1[i+1]
        SynAbGR=SynAb1[i+1]
      
        plt.subplots(figsize=(10,9))
        plt.tight_layout()
        plt.subplots(12,2,i)
        plt.title("Petite Rade ")
        plt.axis('equal')
        XPR=[CryptoAbPR,NanoAbPR,PicoAbPR,PredAbPR,ProchloroAbPR,SynAbPR]
        labels=['Crypto','Nano','Pico','pred','prochloro','Syn']
        patches,texts=plt.pie(XPR)
        
        plt.title("Grande rade ")
        plt.axis('equal')
        
        XGR=[CryptoAbGR,NanoAbGR,PicoAbGR,PredAbGR,ProchloroAbGR,SynAbGR]
        labels=['Crypto','Nano','Pico','pred','prochloro','Syn']
        patches,texts=plt.pie(XGR)
        plt.legend(patches,labels,loc='best')
        plt.tight_layout()
        plt.savefig(f'PR et GR {mois[i//2]}.jpeg')

    Mais je n'y arrive pas je sais que je dois réaliser un subplot avec 12 lignes et 2 colonnes car il y a 2 sites PR et GR. De plus il faut que cette figure soit dupliqué pour aller de 2013à2020 et donc avoir 8 fenêtres 

    Merci d'avance à celui qui saura m'aider 

    PS: Je sais je suis un peu une tanche, besoin de cours en python^^

    -
    Edité par michaelpoinselin 5 mars 2021 à 15:24:06

    • Partager sur Facebook
    • Partager sur Twitter
      5 mars 2021 à 14:33:17

      Bonjour.

      Pour définir tes zones de traçage, l'utilisation de Gridspec peut sans doute de rendre service.

      • Partager sur Facebook
      • Partager sur Twitter

      PB68

        5 mars 2021 à 14:46:04

        Gridspec ? Je ne connais pas, pour être plus précis je souhaite obtenir ca 

        Et je ne vois pas comment faire cependant je vais quand même voir avec gridspec.

        -
        Edité par michaelpoinselin 5 mars 2021 à 14:49:34

        • Partager sur Facebook
        • Partager sur Twitter
          5 mars 2021 à 15:29:14

          Bonjour.

          Voici le lien d'un des exemples que l'on peut trouver sur le site de Matplotlib.

          • Partager sur Facebook
          • Partager sur Twitter

          PB68

          [Subplot]Diagramme circulaire

          × 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