Un script de línea de comando que utiliza Microsoft Excel para trazar un gráfico a partir de un archivo CSV.
Este proyecto fue escrito originalmente por Antoine. Este repositorio es solo una bifurcación del proyecto original realizado por él. No lo conozco personalmente. Me gustó este trabajo, aún no estaba en github (que yo sepa), así que creé un repositorio aquí. Lo que sigue es una narración del autor original. En caso de cualquier comentario o sugerencia, vaya al sitio del autor y para informar cualquier problema o solicitar mejoras, abra los problemas aquí.
Hago prototipos de software utilizando una amplia gama de lenguajes de programación. A menudo tengo que generar datos que cambian con el tiempo y que se muestran principalmente en formato de cuadrícula. Sin embargo, esa no es la mejor manera de comprender cómo cambian los datos con el tiempo en comparación con representarlos en un gráfico.
La mayoría de los lenguajes de programación que conozco no ofrecen una biblioteca nativa para representar datos en un gráfico. No es una tarea fácil. La mayoría de los lenguajes de programación suelen requerir bibliotecas externas para implementar el proceso y cada biblioteca no funciona de la misma manera.
Excel es una plataforma nativa para analizar archivos de valores separados por comas (CSV) y se puede programar para trazar el resultado en una imagen.
El propósito de este script es permitir que cualquier lenguaje de programación que genere datos los trace en una imagen guardando los datos sin procesar en un archivo CSV y luego usando el poder de Excel para trazar el resultado en una imagen.
La siguiente sección enumera las características del script csvPlot :
El script tiene algunas limitaciones que se explican aquí.
La resolución de la imagen de salida puede ser +- 1 píxel diferente de lo que se solicita en la línea de comando. Esta es una limitación de cómo Excel procesa las dimensiones de la imagen, ya que utiliza "puntos" como unidad base y no píxeles reales. Se debe calcular una conversión de píxeles a puntos, que puede contener un pequeño error de precisión.
El único formato de imagen admitido es PNG. Aún se desconoce si Excel realmente admite JPG para exportar gráficos, pero PNG parece ser el candidato perfecto ya que es un formato comprimido sin pérdidas.
Se espera que la primera fila de cada columna contenga el título de la columna que se utilizará como nombre de la serie trazada dentro del gráfico.
El comando para iniciar el script es el siguiente. El script debe llamarse con un mínimo de 6 argumentos de línea de comando.
Nombre | Descripción |
---|---|
Archivo de entrada | Ruta del archivo CSV de entrada |
Archivo de salida | Ruta de la imagen PNG de salida |
Ancho | Ancho de la imagen de salida en píxeles |
Altura | Altura de la imagen de salida en píxeles |
Serie #1, columna X | Índice de columna X de la primera serie. |
Serie #1, columna Y | Índice de la columna Y de la primera serie |
Serie #2, columna X | Índice de columna X de la segunda serie. |
Serie #2, columna Y | Índice de la columna Y de la segunda serie |
Serie #n, columna X | ... |
Serie #n, columna Y | ... |
Tenga en cuenta que los índices de columna están basados en 1 y no en 0. Esto significa que la columna A es la columna 1 y no la columna 0.
El guión está escrito en VBScript. Utilice lo siguiente para ejecutar el script desde un archivo por lotes (*.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>
El siguiente ejemplo muestra el valor de cierre de los precios de las acciones de Apple durante el año 2015. Los datos los proporciona Nasdaq aquí.
Los datos CSV se pueden descargar aquí: Precios de las acciones de Apple a lo largo del tiempo (2015).csv
A continuación se muestra un modelo hipotético de motor de automóvil cuya velocidad aumenta o disminuye con el tiempo en función de la retroalimentación del pedal del acelerador.
Los datos CSV se pueden descargar aquí: Car Engine Model.csv
A continuación se muestra un gráfico de las funciones sin(), cos() y log() en Excel.
Los datos CSV se pueden descargar aquí: sin(x), cos(x) y log(x) function data.csv