Metadata-Version: 2.1
Name: cliagramme
Version: 1.0.1
Summary: Afficher et gérer des diagrammes en console.
Home-page: https://github.com/4surix/cliagramme
Author: Asurix
Author-email: asurix@outlook.fr
License: UNKNOWN
Keywords: diagramme cli console shell
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.6, <4
Description-Content-Type: text/markdown
Requires-Dist: colorama (>=0.4.3)

# Cliagramme

Module servant Ã  afficher et gÃ©rer facilement des diagrammes en console.  
D'oÃ¹ le nom, CLI diagramme, cliagramme.  

Les diagrammes disponible sont :
- Diagramme en bÃ¢ton (ou Ã  barre).
- Diagramme en boite (ou Ã  moustache).
- Diagramme rectangulaire (Ã©quivalent de circulaire).

# AperÃ§u

```python
import cligramme

# Source : https://www.faune-france.org/

DONNEES_HIRONDELLE = {
    # mois: [En 2019, En 2020]
    'Jan.': [0.0, 0.0], 
    'Fev.': [0.08, 0.13], 
    'Mars': [2.49, 0.76], 
    'Avril': [10.13, 4.18], 
    'Mai': [7.04, 5.93], 
    'Juin': [5.07, 5.26], 
    'Jui.': [14.2, 10.5], 
    'Aout': [19.75, 0.0], 
    'Sep.': [14.79, 0.0], 
    'Oct.': [0.35, 0.0], 
    'Nov.': [0.05, 0.0], 
    'Dec.': [0.0, 0.0]
}

LISTE_MOIS = DONNEES_HIRONDELLE.keys()

cliagramme.baton(
    titre="PrÃ©sence Hirondelle de rivage par mois en France.",
    valeurs=DONNEES_HIRONDELLE,
    legende=[
        "AnnÃ©e 2019",
        "AnnÃ©e 2020"
    ],
    max_valeurs_y=12,
)

INDEX_2019 = 0
INDEX_2020 = 1

cliagramme.boite(
    titre="PrÃ©sence Hirondelle de rivage en 2019 en France.",
    valeurs=[
        DONNEES_HIRONDELLE[mois][INDEX_2019]
        for mois in LISTE_MOIS
    ],
    graduation=40
)

cliagramme.boite(
    titre="PrÃ©sence Hirondelle de rivage en 2020 en France.",
    valeurs=[
        DONNEES_HIRONDELLE[mois][INDEX_2020]
        for mois in LISTE_MOIS
    ],
    graduation=40
)

cliagramme.rectangulaire(
    titre="Plus grande prÃ©sence Hirondelle de rivage en 2019 en France.",
    valeurs={
        mois: DONNEES_HIRONDELLE[mois][INDEX_2019]
        for mois in LISTE_MOIS
    }
)
```

![](https://i.imgur.com/gYBRGFA.png)

# Utilisation

- Ouvrez une invite de commande.  
  <details>
    <summary>Comment faire ?</summary>

    Appuyez sur la touche `Windows` + la touche `R`, et Ã©crivez `cmd` dans la fenÃªtre qui s'est ouverte.
  </details>

- Assurez vous d'avoir `Python >=3.6` d'installÃ©. 
  <details>
    <summary>Comment savoir ?</summary>

    Ecrivez `python --version` dans l'invite de commande. Si Python est installÃ© cela affichera la version qui doit Ãªtre supÃ©rieur Ã  `3.6`.
    Si ce n'est pas le cas, [installer Python](https://www.python.org/downloads/) dans une version Ã©gal ou supÃ©rieur Ã  3.6 pour Ã©viter les soucis de compatibilitÃ©.
  </details>

- Assurez vous d'avoir `pip` d'installÃ©. 
  <details>
    <summary>Comment savoir ?</summary>

    Ecrivez `pip --version` dans l'invite de commande. Si `pip` est installÃ© cela affichera la version qui doit Ãªtre supÃ©rieur Ã  `10.0.0`.  
    Si ce n'est pas le cas, Ã©crivez `python -m pip install --upgrade pip` pour mettre Ã  jour.
  </details>

- Ecrivez la commande suivante :  
    ```sh
    pip install cliagramme
    ```

- L'ors de nouvelle mise Ã  jour il suffira de rajouter `--upgrade` pour mettre le module Ã  jour : 
    ```sh
    pip install cliagramme --upgrade
    ```

- Ensuite crÃ©ez un nouveau fichier, importez le module, et amusez vous !
    ```python
    import cliagramme

    print(cliagramme.baton(
        valeur={
            x: x
            for x in range(10)
        }
    ))
    ```

# Documentation

#### baton(\*, titre:str = None, valeurs:dict or list, legende:list = None, max_valeurs_y:int = 10, min_y_nul:bool = True, saut_valeur_y:int = 1, couleur:bool = True, return_diagramme:bool = False) -> None or str:
Diagramme en bÃ¢ton.  

##### titre:str
Titre du diagramme.

##### valeurs:dict or list
Valeurs qui constituera le diagramme.  
Si l'objet est de type `list`, le programme va comprendre que c'est une sÃ©rie.

##### legende:list
LÃ©gende du diagramme. Utile si il y a plusieurs bÃ¢ton par valeur en abscisse.  

##### max_valeurs_y:int
Le nombre maximum de valeur en y (ordonnÃ©e). Autrement dit, la hauteur maximum du diagramme.  

##### min_y_nul:bool
DÃ©finie si la valeur minimal en y doit Ãªtre zÃ©ro. Si `min_y_nul=False` alors la valeur minimal en y sera la plus petite valeur.  

##### saut_valeur_y:int
DÃ©finie le nombre de valeur en y qu'il faut sauter Ã  chaque affichage de valeur. La valeur maximum et minimum seront toujours affichÃ©es.  

##### couleur:bool
DÃ©finie si le diagramme sera en couleur ou non.  

##### return_diagramme:bool
Si `return_diagramme=True`, n'affiche pas le diagramme et le retourne Ã  la place.  

##### Exemple :  

```python
import cliagramme

cliagramme.baton(
    titre="Nombre d'enfant par famille",
    valeurs=[
        2, 3, 4, 0, 2, 5, 3, 0, 2, 1, 0, 6, 0, 3, 2
    ],
    max_valeurs_y=12,
    saut_valeur_y=3, # 12/3 == 4, seulement 4 valeurs en y
                     # seront affichÃ©es espacÃ©es de 3 blanc.
    couleur=False
)
```

![](https://i.imgur.com/eWcBKhf.png)

#### boite(\*, titre:str = None, valeurs:list, graduation:int = 30, return_diagramme:bool = False) -> str:
Diagramme en boite (ou Ã  moustache).

##### titre:str
Titre du diagramme.  

##### valeurs:list
Valeurs qui constituera le diagramme.  

##### graduation:list
DÃ©finie le nombre maximum de trait dans la graduation. Autrement dit, la longueur maximum du diagramme.  

##### return_diagramme:bool
Si `return_diagramme=True`, n'affiche pas le diagramme et le retourne Ã  la place.  

##### Exemple :  

```python
import cliagramme

notes = [
    16, 7, 10, 8, 19, 19, 4, 1, 17, 15, 14, 20, 1
]

cliagramme.boite(
    titre="Notes d'Ã©lÃ¨ves.",
    valeurs=notes,
    graduation=20
)
```

![](https://i.imgur.com/qGXbdr0.png)

#### rectangulaire(\*, titre:str = None, valeurs:dict or list, legende:bool = True, longueur:int = 50, largeur:int = 3, couleur:bool = True, return_diagramme:bool = False) -> None or str:

##### titre:str
Titre du diagramme.  

##### valeurs:dict or list
Valeurs qui constituera le diagramme.  
Si l'objet est de type `list`, le programme va comprendre que c'est une sÃ©rie.  

##### legende:bool
Permet d'afficher, ou non, la lÃ©gende du diagramme.  

##### longueur:int
DÃ©finie la longueur du diagramme.  

##### largeur:int
DÃ©finie la largeur du diagramme.  

##### couleur:bool
DÃ©finie si le diagramme sera en couleur ou non.  

##### return_diagramme:bool
Si `return_diagramme=True`, n'affiche pas le diagramme et le retourne Ã  la place.  

##### Exemple :  

```python
import cliagramme

cliagramme.rectangulaire(
    titre="CatÃ©gorie d'espÃ¨ces les plus touchÃ©es suivant leurs taux d'espÃ¨ces menacÃ©es.",
    valeurs={
        "MammifÃ¨res": 14,
        "Reptiles": 24,
        "Amphibiens": 23,
        "Oiseaux nicheurs": 32,
        "Poisson d'eau douce": 19,
        "CrustacÃ©s": 28,
        "Flore": 15
    },
    largeur=2,
    longueur=20
)
```

![](https://i.imgur.com/TYlKF0Q.png)

