USB メモリ活用講座
【gnuplot 5 ポータブル化】

< 最終更新日: 2024-04-10 >

gnuplot はフリーで利用できる 2D/3D のグラフ作成ツールです. 簡単なコマンド入力で,数式やデータファイルからグラフを描画させることができます. グラフは画面に描画するほかに,様々な形式のファイルとして保存させることができます. ベクタ形式の EPS (Encapsulated PostScript) 画像にも対応しているので,TeX の文書に美しいグラフを挿入することができます.

ここでは,gnuplot を USB ドライブにインストールする方法を簡単に解説します. 現在,gnuplot は 6.0 系までリリースされていますが,Windows PC で動作するバイナリの配布は 64 ビット版が 5.4.8 まで,32 ビット版が 5.2.7 までとなっています. ここでは,64 ビット版の gnuplot 5.4.8 をポータブル化する手順を説明します. USB メモリのディスクサイズをできるだけ抑えたい方や,32 ビット版が必要という方は,古い記事 を参考にしてください.

64 ビット版の gnuplot 5.4.8 をインストールするには,約 144MB のディスク容量が必要となります.

  1. gnuplot 5.4.8 のインストール
  2. gnuplot ポータブル化のための設定

gnuplot 5.4.8 のインストール

Windows 10/11 でインストール作業を行なうには,管理者 (Administrator) 権限を持つユーザで作業を行うとよいでしょう.

ここでは USB メモリを PC に挿入したときに,認識されるドライブレターが (U:) であるものとし,このドライブのことを USB ドライブと呼びます. gnuplot 5.4.8 を USB ドライブの usr\gnuplot フォルダにインストールすることにします. 別のフォルダにインストールしたい人は,適宜読み替えながら作業を進めてください.

  1. まず gnuplot の配布ファイルをダウンロードします. Web ブラウザで gnuplot homepage (英文) を開き,Download から Primary download site on SourceForge へと進みます. そして,サブフォルダ 5.4.8 の中にある gp548-win64-mingw.7z (39.8MB, 2023-06-10) を,ローカルハードディスクの適切なフォルダ (C:\temp など) にダウンロードしましょう.
  2. gp548-win64-mingw.7z を USB ドライブの usr\gnuplot フォルダに展開 (解凍) します.

7z ファイルの展開には基礎編のファイル圧縮・展開 (解凍) ツールで紹介した 7-Zip Portable が便利です. ファイルはすべて gnuplot というフォルダ以下に展開されるので,展開先は U:\usr と指定すればよいでしょう. 展開 (解凍) 先の指定によっては usr\gnuplot\gnuplot に展開されてしまうかもしれませんので,エクスプローラなどで usr フォルダ以下のディレクトリ構造を確認し,必要に応じて修正してください (usr\gnuplot の下に bindemodocs などのサブフォルダがあるのが正常です).

PortableApps.com Platform をランチャとしてインストールしてあれば,次のようなコマンドを実行することでも展開できます (7z ファイルを C:\temp にダウンロードしてある場合):

U:\PortableApps\PortableApps.com\App\7-Zip\7za64.exe x C:\temp\gp548-win64-mingw.7z -oU:\usrEnter

ローカルハードディスク (C: など) に gnuplot をインストールするのであれば,これで作業は終了で,後は usr\gnuplot\bin にある wgnuplot.exe を起動するだけです. しかし,このままでは gnuplot の設定ファイル (wgnuplot.ini) やコマンドヒストリファイル (gnuplot_history) が,ローカル PC のユーザプロファイルフォルダ以下 (環境変数 USERPROFILE に指定されたフォルダの中にある,Application Data フォルダ) に作成されてしまいます.

gnuplot の設定ファイル (wgnuplot.ini) やコマンドヒストリファイル (gnuplot_history) を,USB ドライブ上に作成するための設定を次の gnuplot ポータブル化のための設定で紹介します.

gnuplot ポータブル化のための設定

gnuplot のオンラインマニュアルによれば,Windows 環境における設定ファイルの保存先は環境変数 GNUPLOT で指定できるようです. そこで,USB ドライブに割り当てられたドライブレターに応じて,環境変数 GNUPLOT を設定して wgnuplot.exe を起動するための VB (Visual Basic) スクリプトを作成してみます (WSH について興味がある方は,こちら をご覧ください). テキストエディタを起動して,次のような VB スクリプトを入力しましょう. 先頭がアポストロフィ(')の行はコメント(注釈)となりますので,飛ばしてもかまいません. 正確にタイプする自信がない方は,ブラウザからエディタへコピー&ペーストすればよいでしょう.

' WSHでwgnuplotを起動
Option Explicit
Dim objWshShell,objFS,objEnv
Dim strDrv,strGPPath,strExec,strArg
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
' カレントドライブを取得
strDrv = objFS.GetDriveName(WScript.ScriptFullName)
' gnuplot フォルダが存在するかをチェック
strGPPath = strDrv & "\usr\gnuplot"
If objFS.FolderExists(strGPPath)=0 Then
    WScript.Echo strGPPath & "が見つかりませんので終了します"
    WScript.Quit 0
End If
' 環境変数PATHの設定
Set objEnv = objWshShell.Environment("Process")
objEnv.Item("PATH") = strGPPath & "\bin;" _
  & objEnv.Item("PATH")
' 環境変数GNUPLOTを設定
objEnv.Item("GNUPLOT") = strGPPath & "\bin"

' 起動オプションを設定
strExec = strGPPath & "\bin\wgnuplot"
For Each strArg In WScript.Arguments
  strExec = strExec & " " & strArg
Next
objWshShell.Run strExec
WScript.Quit

入力し終えたら wakegp.vbs と名前をつけて,USB ドライブ上の適当なフォルダ (U:\bin など) に保存しましょう. なお,保存するときには文字コード (エンコード) をシフト JIS (Shift_JIS) にする必要があるようです. 「メモ帳」でこのスクリプトを作成する方は,保存時の文字コードを ANSI に指定するとともに,ファイル名が wakegp.vbs.txt となってしまわないよう気をつけてください (失敗したらリネームすればよいだけですが).

いよいよ動作確認です. エクスプローラなどで USB ドライブの中身を表示し,フォルダ bin の中にある wakegp.vbs を起動します. OS によっては図1 のように「セキュリティの警告」ダイアログボックスが表示されるかもしれません. その場合は左下の「このファイル開く前に常に警告する」のチェックをオフにしてから 実行 ボタンをクリックします※2

図1・セキュリティの警告ダイアログボックス
図1・セキュリティの警告ダイアログボックス

図2 のように gnuplot が起動されたら,第1段階は成功です. まず,メニューバーが日本語になっているかを確認してください. 次に,画面下半分の適当な箇所でマウスを右クリックします. 図2のようにプルダウンメニューが表示されますので,その一番下の行 Update の項を確認します. ここが U:\usr\gnuplot\bin\wgnuplot.ini のように,wakegp.vbs の環境変数 GNUPLOT の設定で指定したパスになっていれば OK です.

図2・gnuplot の起動画面
図2・gnuplot の起動画面

ここまでの動作確認が終わったら,wakegp.vbs をランチャに登録するとよいでしょう. また,Command Prompt Portable を使う方は,commandprompt.bat を編集して,PATHusr\gunplot\bin を追加し,環境変数 GNUPLOT を設定しましょう.

gnuplot はコマンド形式で,グラフ描画を行います. プロンプト (gnuplot>) に続けて次のような描画命令を実行してみましょう.

plot sin(x) Enter

新しいウィンドウ (gunplot graph) が開かれ,正弦波のグラフが表示されれば正常です. gnuplot のメインウィンドウ (コマンドを入力したウィンドウ) に戻って,次のような命令を実行すれば gnuplot を終了させることができます.

quit Enter

gnuplot のコマンドについて知りたい場合は,ヘルプ機能が利用できます. 例えば plot というコマンドについて知りたい場合は,次のような命令を実行します※1

help plot Enter

gnuplot の使い方については,usr\gnuplot\docs 以下にあるドキュメントが役に立つはずです. 特に gnuplot.pdf (英文) はコマンドの詳細について調べることができます. 英文は苦手という方は,新潟工科大・竹野研究室の gnuplot のページで配布されている日本語 PDF を利用しましょう. http://takeno.iee.niit.ac.jp/~foo/gp-jman/gp-jman.html#manjp-files から,「zip 形式の PDF ファイル (gnuplot-ja.pdf.zip)」を見つけてダウンロードし,usr\gnuplot\docs に展開 (解凍) すればよいでしょう.

Web の検索エンジンなどを使えば,たくさんの解説が見つかるはずです. 自分にちょうどよいレベルのものを見つけて,じっくりと学習してください.