Python - Créer un PDF avec des graphiques, partie 2

Table des matières
Dans la première partie du didacticiel, nous décrivons les points de base du pourquoi Python C'est une bonne option pour construire des éléments graphiques à partir de données textuelles, on pourrait aussi voir un peu comment gérer le module Laboratoire de rapports pour générer un PDF simple avec un texte de test dessiné.
préparation
Pour faire notre projet nous allons prendre quelques données historiques sur la position du soleil, nous les prenons sur le site du SEC ou Space Environment Center, c'est à l'origine dans un fichier .txt, cependant pour accélérer notre développement nous allons pour l'inclure directement dans notre programme dans un tuple comme suit :
 data = [# Année Mois Prévision Haut Bas (2004, 12, 34,2, 35,2, 33,2), (2005, 1, 31,5, 34,5, 28,5), # Continue avec plus de données] 

Il est important de mentionner qu'avec ces données que nous allons alimenter nous allons générer les lignes de notre graphique.
Utiliser des polylignes
Avant de continuer il faut savoir tracer les lignes, pour cela nous utiliserons Polylignes qui n'est qu'un Classe ReportLab qui nous permet de générer des lignes à partir de coordonnées, ces coordonnées sont reçues en argument. Voyons ensuite comment générer un graphique simple.
Avec la ligne PolyLine ([(0, 0), (10, 0), (10, 10), (0, 10)]), nous pouvons générer un graphique que nous voyons dans l'image suivante :

Première mise en œuvre
Puisque nous savons avec quels outils nous allons travailler, il est temps de faire notre première version du programme.
Nous allons d'abord voir le code proposé, puis nous expliquerons comment cela fonctionne :
 de reportlab.lib importer les couleurs de reportlab.graphics.shapes importer * de reportlab.graphics importer les données renderPDF = [(2005, 8, 113.2, 114,2, 112,2), (2005, 9, 112,8, 115,8, 109.8), (2005, 10, 111,0, 116,0, 106,0), (2005, 11, 109,8, 116,8, 102,8), (2005, 12, 107,3, 115,3, 99,3), (2006, 1, 105,2, 114,2, 96,2), (2006, 2, 104,1, 114,1, 94,1), (2006, 3, 99,9, 110,9, 88,9), (2006, 4, 94,8, 106,8, 82,8), (2006, 5, 91,2, 104,2, 78,2),] dessin = dessin (200, 150) pred = [ligne [2] -40 pour la ligne dans les données] élevé = [ligne [3] -40 pour la ligne dans les données] faible = [ligne [4] -40 pour la ligne dans les données] fois = [200 * ( (ligne [0] + ligne [1] /12,0) - 2005) -110 pour la ligne dans les données] drawing.add (PolyLine (zip (fois, pred), strokeColor = colors.blue)) drawing.add (PolyLine (zip (fois, haut), strokeColor = colors.red)) drawing.add (PolyLine (zip (fois, bas), strokeColor = colors.green)) drawing.add (String (65, 115, 'Sunspots', fontSize = 18 , fillColor = colors.red)) renderPDF.drawToFile (dessin, 'report1.pdf', 'Sunspots') 

Dans le code nous commençons par importer les packages nécessaires, nous incluons le classe de couleurs cela nous permet de dessiner les graphiques en couleur, puis nous définissons nos données, cette fois nous avons inclus beaucoup plus de données pour faire un graphique plus complet.
Nous instancions le Cours de dessin puis nous préparons les trois variables que nous allons traduire.
Enfin avec lui ajouter une méthode nous incorporons les variables définies avec les données déjà préparées, une fois que nous avons les 3 sections nous construisons le PDF avec la méthode dessinerVersFichier et à la fin, nous devrions avoir quelque chose de très similaire à ce qui suit :

Comme on peut le voir, nous avons déjà tracé les lignes correspondant aux données incorporées, cependant nous devons encore donner un peu plus de sens au rapport, pour cela nous devons incorporer des lignes directrices, cependant une fois que nous savons comment cela fonctionne, nous pouvons laisser le reste pour eux.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave