Сценарий командной строки, который использует Microsoft Excel для построения графика из файла CSV.
Этот проект изначально написан Антуаном. Этот репозиторий является всего лишь форком сделанного им оригинального проекта. Я не знаю его лично. Мне понравилась эта работа, ее еще не было на github (насколько мне известно), поэтому я создал репозиторий здесь. Ниже приводится повествование оригинального автора. В случае каких-либо комментариев или предложений перейдите на сайт автора и, чтобы сообщить о любых проблемах или запросить улучшения, открывайте вопросы здесь.
Я занимаюсь прототипированием программного обеспечения, используя широкий спектр языков программирования. Мне часто приходится генерировать данные, которые со временем меняются и обычно отображаются в формате сетки. Однако это не лучший способ понять, как данные изменяются с течением времени, по сравнению с представлением данных в виде графика.
Большинство языков программирования, которые я знаю, не имеют встроенной библиотеки для отображения данных в виде графика. Это непростая задача. Большинству языков программирования для реализации процесса часто требуются внешние библиотеки, и каждая библиотека работает по-разному.
Excel — это собственная платформа для анализа файлов со значениями, разделенными запятыми (CSV), и для нее можно создать сценарий для отображения результата в изображении.
Цель этого сценария — позволить любому языку программирования, который генерирует данные, отображать данные в изображении, сохраняя необработанные данные в файл CSV, а затем используя возможности Excel для отображения результата в изображении.
В следующем разделе перечислены возможности сценария csvPlot :
Скрипт имеет некоторые ограничения, которые описаны здесь.
Разрешение выходного изображения может отличаться на +- 1 пиксель от запрошенного в командной строке. Это ограничение того, как Excel обрабатывает размеры изображения, поскольку в качестве базовой единицы он использует «точки», а не реальные пиксели. Необходимо рассчитать преобразование пикселей в точки, что может содержать небольшую погрешность точности.
Единственный поддерживаемый формат изображения — PNG. Пока неизвестно, действительно ли Excel поддерживает JPG для экспорта графиков, но PNG кажется идеальным кандидатом, поскольку это формат сжатия без потерь.
Ожидается, что первая строка каждого столбца будет содержать заголовок столбца, который будет использоваться в качестве имени отображаемого ряда на графике.
Команда запуска скрипта следующая. Сценарий должен вызываться с минимум 6 аргументами командной строки.
Имя | Описание |
---|---|
Входной файл | Путь к входному CSV-файлу |
Выходной файл | Путь к выходному PNG-изображению |
Ширина | Ширина выходного изображения в пикселях |
Высота | Высота выходного изображения в пикселях |
Ряд №1, X столбик | Индекс столбца X первой серии |
Серия №1, столбец Y | Индекс столбца Y первой серии |
Ряд №2, X столбик | Индекс столбца X второй серии |
Ряд №2, столбец Y | Индекс столбца Y второй серии |
Серия №n, столбец X | ... |
Серия №n, столбец Y | ... |
Обратите внимание, что индекс столбца начинается с 1, а не с 0. Это означает, что столбец A является столбцом 1, а не столбцом 0.
Скрипт написан на VBScript. Используйте следующее для выполнения сценария из пакетного файла (*.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>
В следующем примере показаны цены на акции Apple на момент закрытия 2015 года. Данные предоставлены Nasdaq здесь.
Данные в формате CSV можно скачать здесь: Цены на акции Apple с течением времени (2015 г.).csv.
Ниже показана гипотетическая модель двигателя автомобиля, скорость которой со временем уменьшается в зависимости от обратной связи педали газа.
Данные в формате CSV можно скачать здесь: Car Engine Model.csv.
Ниже показан график функций sin(), cos() и log() в Excel.
Данные CSV можно скачать здесь: функция sin(x), cos(x) и log(x) data.csv.