Présenté le donnée d'une base sqlite dans un graphique avec python
Résolu/Fermé
rasielblas
Messages postés
140
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
12 mai 2021
-
13 févr. 2020 à 08:18
rasielblas Messages postés 140 Date d'inscription jeudi 20 mars 2014 Statut Membre Dernière intervention 12 mai 2021 - 17 févr. 2020 à 07:27
rasielblas Messages postés 140 Date d'inscription jeudi 20 mars 2014 Statut Membre Dernière intervention 12 mai 2021 - 17 févr. 2020 à 07:27
A voir également:
- Présenté le donnée d'une base sqlite dans un graphique avec python
- Formules excel de base - Guide
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe. elle a commencé à la main, mais elle voudrait le faire calculer à l'aide d'une formule. proposez une formule comportant une seule fonction et à recopier vers le bas dans la colonne a du fichier à télécharger. quelle formule sera en a9 ? ✓ - Forum Programmation
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
- Un agent immobilier a préparé un diaporama pour présenter une maison à vendre. appliquez la mise en forme de la première diapositive à toutes les autres. quel est le code du portail ? ✓ - Forum Powerpoint
- Changer carte graphique - Guide
2 réponses
Bonjour,
Je trouve bizarre d'insérer les mêmes lignes x fois dans ta table, alors que pour faire ça, tu devrais avoir 2 tables.
En outrepassant cette mauvaise architecture de ta base, il suffit simplement de compter le nombre de lignes pour chaque matricule (ou id).
Un autre problème se posera, si la taille de colors n'est pas au moins égal à la taille de labels, il y aura doublons de couleur.
Je trouve bizarre d'insérer les mêmes lignes x fois dans ta table, alors que pour faire ça, tu devrais avoir 2 tables.
En outrepassant cette mauvaise architecture de ta base, il suffit simplement de compter le nombre de lignes pour chaque matricule (ou id).
import sqlite3 import matplotlib.pyplot as plt labels = [] quantity = [] with sqlite3.connect("basedonnee.db") as con: cur = con.cursor() cur.execute("select matricule, count(*) from faute group by(id)") for matricule, nb in cur.fetchall(): labels.append(matricule) quantity.append(nb) colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] plt.pie(quantity, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=100) plt.axis('equal') plt.show()
Un autre problème se posera, si la taille de colors n'est pas au moins égal à la taille de labels, il y aura doublons de couleur.
rasielblas
Messages postés
140
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
12 mai 2021
9
17 févr. 2020 à 07:27
17 févr. 2020 à 07:27
C'est exactement ce que je voulais! merci ça marche très bien! je suis très content du résultat! encore merci! ;-)
14 févr. 2020 à 10:09
Je me suis documenté un peu est cela m'oriente vers une autre bibliothèque comme plotnine!
voici le code que j'ai trouvé sur un certain site:
https://blog.algorexhealth.com/2018/03/almost-10-pie-charts-in-10-python-libraries/
J'aimerais avoir si matplotlib n'est pas capable de faire ce schéma pour ne pas compliqué le chose sinon comment procéder. Encore merci !
Modifié le 14 févr. 2020 à 13:55
Je crois qu'il manque le plt.pie mais je ne sais pas comment fait-on pour avoir l'équivalence avec ce nouveau graphe plt.barh.
15 févr. 2020 à 08:37
Je pense que c'est simplement les graduations de l’abscisse qui ne sont pas bonnes, mais ne connaissant pas matplotlib du tout, je ne sais comment cela se fait, il faudrait regarder dans les exemples exposés dans la doc matplotlib.
15 févr. 2020 à 13:18
https://matplotlib.org/tutorials/introductory/lifecycle.html#sphx-glr-tutorials-introductory-lifecycle-py
Alors il est simple d'adapter à ton code
Mais ce n'est peut-être pas ce que tu souhaites obtenir.