Un script de ligne de commande qui utilise Microsoft Excel pour tracer un graphique à partir d'un fichier CSV.
Ce projet est initialement écrit par Antoine. Ce référentiel n'est qu'un fork du projet original qu'il a réalisé. Je ne le connais pas personnellement. J'ai aimé ce travail, il n'était pas encore sur github (à ma connaissance), j'ai donc créé un dépôt ici. Voici un récit de l’auteur original. En cas de commentaires ou de suggestions, rendez-vous sur le site de l'auteur et pour signaler tout problème ou demander des améliorations, ouvrez les problèmes ici.
Je fais du prototypage de logiciels en utilisant un large éventail de langages de programmation. Je dois souvent générer des données qui changent au fil du temps et qui sont principalement affichées sous forme de grille. Cependant, ce n’est pas la meilleure façon de comprendre comment les données évoluent au fil du temps par rapport au tracé des données sur un graphique.
La plupart des langages de programmation que je connais n'offrent pas de bibliothèque native pour tracer des données sur un graphique. Ce n'est pas une tâche facile. La plupart des langages de programmation nécessitent souvent des bibliothèques externes pour implémenter le processus et chaque bibliothèque ne fonctionne pas de la même manière.
Excel est une plate-forme native d'analyse des fichiers CSV (valeurs séparées par des virgules) et peut être scriptée pour tracer le résultat dans une image.
Le but de ce script est de permettre à tout langage de programmation qui génère des données de tracer les données dans une image en enregistrant les données brutes dans un fichier CSV, puis en utilisant la puissance d'Excel pour tracer le résultat dans une image.
La section suivante répertorie les fonctionnalités du script csvPlot :
Le script présente certaines limitations qui sont expliquées ici.
La résolution de l'image de sortie peut être différente de +- 1 pixel de celle demandée sur la ligne de commande. Il s'agit d'une limitation de la façon dont Excel traite les dimensions de l'image puisqu'il utilise des « points » comme unité de base et non des pixels réels. Une conversion de pixels en points doit être calculée, ce qui peut contenir une petite erreur de précision.
Le seul format d'image pris en charge est PNG. On ne sait toujours pas si Excel prend réellement en charge JPG pour l'exportation de graphiques, mais PNG semble être le candidat idéal puisqu'il s'agit d'un format compressé sans perte.
On s'attend à ce que la première ligne de chaque colonne contienne le titre de la colonne qui sera utilisée comme nom de la série tracée dans le graphique.
La commande pour lancer le script est la suivante. Le script doit être appelé avec un minimum de 6 arguments de ligne de commande.
Nom | Description |
---|---|
Fichier d'entrée | Chemin du fichier CSV d'entrée |
Fichier de sortie | Chemin de l’image PNG de sortie |
Largeur | Largeur de l'image de sortie en pixels |
Hauteur | Hauteur de l'image de sortie en pixels |
Série #1, colonne X | Index de colonne X de la première série |
Série #1, colonne Y | Index de colonne Y de la première série |
Série #2, colonne X | Index de colonne X de la deuxième série |
Série #2, colonne Y | Index de colonne Y de la deuxième série |
Série #n, colonne X | ... |
Série #n, colonne Y | ... |
Notez que les indices de colonne sont basés sur 1 et non sur 0. Cela signifie que la colonne A est la colonne 1 et non la colonne 0.
Le script est écrit en VBScript. Utilisez ce qui suit pour exécuter le script à partir d'un fichier batch (*.bat) :
@echo off
cscript //nologo "%~dp0 csvPlot .vbs" pathtodemo.csv pathtodemo.png 800 600 1 2
pause
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:>cd /d C:Temp csvPlot demo
C:Temp csvPlot demo>cscript //Nologo csvPlot .vbs %cd%CarEngineModel.csv %cd%CarEngineModel.png 853 479 1 3 1 4 1 2 Loading input file C:Temp csvPlot demoCarEngineModel.csv...
File load successful.
File has 4 columns.
Plotting series of columns 1 and 3...
Plotting series of columns 1 and 4...
Plotting series of columns 1 and 2...
File C:Temp csvPlot demoCarEngineModel.png saved successfully.
C:Temp csvPlot demo>
L'exemple suivant montre la valeur de clôture du cours de l'action Apple pour l'année 2015. Les données sont fournies par le Nasdaq ici.
Les données CSV peuvent être téléchargées ici : Cours des actions Apple au fil du temps (2015).csv
Ce qui suit montre un modèle hypothétique de moteur de voiture dont la vitesse augmente ou diminue au fil du temps en fonction du retour de la pédale d'accélérateur.
Les données CSV peuvent être téléchargées ici : Car Engine Model.csv
Ce qui suit montre un graphique des fonctions sin(), cos() et log() dans Excel.
Les données CSV peuvent être téléchargées ici : sin(x), cos(x) & log(x) function data.csv