Microsoft Excel を使用して CSV ファイルからグラフをプロットするコマンド ライン スクリプト。
このプロジェクトはもともと Antoine によって書かれました。このリポジトリは、彼が作成したオリジナル プロジェクトの単なるフォークです。私は彼を個人的に知りません。この作品が気に入ったのですが、(私の知る限りでは)まだ github になかったので、ここにリポジトリを作成しました。以下、原作者による解説です。コメントや提案がある場合は、作成者のサイトにアクセスし、問題を報告したり改善をリクエストしたりするには、ここで問題をオープンしてください。
幅広いプログラミング言語を使用してソフトウェアのプロトタイピングを行っています。時間の経過とともに変化するデータを生成する必要があることがよくありますが、そのデータは主にグリッド形式で表示されます。ただし、これは、データをグラフにプロットすることと比較して、データが時間の経過とともにどのように変化するかを理解するための最良の方法ではありません。
私が知っているプログラミング言語のほとんどは、データをグラフにプロットするためのネイティブ ライブラリを提供していません。それは簡単な仕事ではありません。ほとんどのプログラミング言語では、プロセスの実装に外部ライブラリが必要になることが多く、各ライブラリは同じように動作しません。
Excel は、カンマ区切り値 (CSV) ファイルを解析するためのネイティブ プラットフォームであり、結果を画像にプロットするようにスクリプト化できます。
このスクリプトの目的は、生データを CSV ファイルに保存し、Excel の機能を使用して結果を画像にプロットすることで、データを生成する任意のプログラミング言語でデータを画像にプロットできるようにすることです。
次のセクションでは、 csvPlotスクリプトの機能をリストします。
スクリプトには、ここで説明するいくつかの制限があります。
出力画像の解像度は、コマンド ラインで要求された解像度と +-1 ピクセル異なる場合があります。これは、Excel が実際のピクセルではなく「ポイント」を基本単位として使用するため、画像の寸法を処理する方法の制限です。ピクセルからポイントへの変換を計算する必要がありますが、これには小さな精度誤差が含まれる可能性があります。
サポートされている画像形式は PNG のみです。 Excel が実際にグラフのエクスポートに JPG をサポートしているかどうかはまだ不明ですが、PNG は可逆圧縮形式であるため、最適な候補と思われます。
各列の最初の行には、グラフ内でプロットされた系列の名前として使用される列のタイトルが含まれることが期待されます。
スクリプトを起動するコマンドは以下の通りです。スクリプトは、少なくとも 6 つのコマンド ライン引数を使用して呼び出す必要があります。
名前 | 説明 |
---|---|
入力ファイル | 入力CSVファイルのパス |
出力ファイル | 出力PNG画像のパス |
幅 | 出力画像の幅 (ピクセル単位) |
身長 | 出力画像の高さ (ピクセル単位) |
シリーズ #1、X 列 | 最初のシリーズの X 列インデックス |
シリーズ #1、Y 列 | 最初のシリーズの Y 列インデックス |
シリーズ #2、X 列 | 2 番目のシリーズの X 列インデックス |
シリーズ #2、Y 列 | 2 番目のシリーズの Y 列インデックス |
シリーズ #n、X 列 | ... |
シリーズ #n、Y 列 | ... |
列インデックスは 0 からではなく 1 から始まることに注意してください。これは、列 A が列 0 ではなく列 1 であることを意味します。
スクリプトは 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>
次の例は、2015 年の Apple 株価終値を示しています。データは Nasdaq から提供されています。
CSV データはここからダウンロードできます: Apple Share Price over time (2015).csv
以下に、アクセルペダルのフィードバックに基づいて時間の経過とともに速度の増加または減少を加速する仮想の自動車エンジン モデルを示します。
CSV データはここからダウンロードできます: Car Engine Model.csv
以下に Excel の sin()、cos()、log() 関数のグラフを示します。
CSV データはここからダウンロードできます: sin(x)、cos(x) & log(x) function data.csv