Comment convertir un fichier CSV en un graphique en Python

Programmeur en développement Développement d'équipe Conception de sites Web et technologies de codage travaillant dans le bureau d'une société de logiciels

Les fichiers CSV sont pratiques en raison de leur simplicité et de leur portabilité, ils sont inefficaces pour afficher ou analyser de grandes quantités de données; cependant, ils n'affichent pas visuellement les données.

Crédit d'image : SARINYAPINNGAM/iStock/GettyImages

La plupart des applications de base de données et de tableur peuvent facilement sortir des données de table sous la forme de fichiers CSV (valeurs séparées par des virgules). Bien que les fichiers CSV soient pratiques en raison de leur simplicité et de leur portabilité, ils sont inefficaces pour afficher ou analyser de grandes quantités de données. Pour surmonter cette limitation, un programmeur peut utiliser le langage de programmation Python et matplotlib pour tracer données à partir d'un fichier CSV et créez un graphique lisible et visuellement attrayant adapté au Web ou à l'impression publication.

Préparation pour tracer des données CSV

Avant de tracer réellement le fichier CSV en Python, vous devez vous assurer que vous disposez de tous les outils nécessaires et créez un fichier de test. Cela inclut l'installation de Python et des bibliothèques nécessaires, ainsi que d'un fichier CSV contenant deux colonnes de données numériques.

Vidéo du jour

Étape 1: Créer un fichier de test

Tout d'abord, ouvrez votre éditeur de texte et créez un simple fichier CSV à tester. Un exemple pourrait ressembler à ceci :

1,2 2,3 3,8 4,13 5,18 6,21 7,13 7.5,4 2.5,4.3

Étape 2: importer les bibliothèques nécessaires

Vous êtes maintenant prêt à importer les bibliothèques Python nécessaires dans votre fichier de code avec cette ligne de code :

importer matplotlib.pyplot en tant que plt importer csv importer sys

Tracer un graphique en Python à partir de CSV

Une fois votre préparation terminée, vous pouvez maintenant commencer à utiliser Python pour dessiner un graphique à partir d'un fichier CSV.

Étape 1: créer un objet lecteur

Ouvrez le fichier CSV et créez un objet lecteur à partir de celui-ci. Déclarez des variables pour définir les limites supérieure et inférieure des valeurs des axes x et y du graphique :

csv_reader = csv.reader (open('test.csv')) bigx = float(-sys.maxint -1) bigy = float(-sys.maxint -1) smallx = float (sys.maxint) smally = float (sys .maxint)

Étape 2: Itérer sur les lignes

Itérer sur chaque ligne contenue dans l'objet lecteur en stockant chaque ligne en tant que sommet dans un tableau de sommets. Dans la même boucle, comparez les valeurs x et y afin de stocker leurs bornes supérieure et inférieure. Triez le tableau de sommets, puis parcourez-le à nouveau. Cette fois, stockez les valeurs x et y triées dans des tableaux séparés :

verts = [] pour la ligne dans csv_reader: verts.append (ligne) si float (ligne[0]) > bigx: bigx = float (ligne[0]) si float (ligne[1]) > bigy: bigy = float ( ligne[1]) si flottant (ligne[0]) < smallx: smallx = float (row[0]) if float (row[1]) < smally: smally = float (row[1]) verts.sort() x_arr = [] y_arr = [] pour vert in verts: x_arr .append (vert[0]) y_arr.append (vert[1])

Étape 3: Créez un objet FigureCanvas

Créez un objet FigureCanvas à l'aide de l'objet pyplot matplotlib importé. Ajoutez les axes du graphique au FigureCanvas en appelant la fonction add_axes et en lui passant un tableau de valeurs sous la forme de: gauche, bas, largeur, hauteur. Ces valeurs définissent l'emplacement du graphique sur le canevas — elles peuvent aller de 0,0 à 1,0 :

fig = plt.figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])

Étape 4: Formater le graphique

Formatez le graphique en ajoutant des étiquettes et en définissant les valeurs minimales et maximales pour chaque axe :

ax.set_xlabel('x data') ax.set_ylabel('y data') ax.set_xlim (smallx, bigx) ax.set_ylim (smally, bigy)

Étape 5: tracer le graphique

Tracez le graphique en passant les deux tableaux contenant les valeurs x et y extraites du fichier CSV. Personnalisez le tracé de la ligne en transmettant des valeurs facultatives telles que la couleur de la ligne (couleur) ou la largeur de la ligne (lw). Affichez le graphique terminé en appelant la méthode show pour ouvrir une fenêtre et stockez l'image en appelant savefig pour créer un fichier bitmap sur le disque :

ax.plot (x_arr, y_arr, color='blue', lw=2) plt.show() fig.savefig('test.png')

Considérations importantes pour les fichiers

Pour créer des fichiers que l'interpréteur Python peut lire, vous devez utiliser un éditeur de texte ou de code ascii qui crée des fichiers texte uniquement. Vous pouvez stocker des images graphiques dans de nombreux formats d'image différents, notamment: png, pdf, ps et svg.

Consulter la documentation Matplotlib

Certains aspects de l'installation et des fonctionnalités de la bibliothèque matplotlib varient selon les différentes plates-formes informatiques. Lisez attentivement la documentation. La bibliothèque peut afficher des informations numériques d'un grand nombre de façons et peut être finement personnalisée. Une lecture approfondie de la documentation sera nécessaire pour devenir compétent.