USB メモリ活用講座
【実践編・gnuplot ポータブル化】

< 最終更新日: 2018-02-16 >

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

ここでは,gnuplot を USB ドライブにインストールする方法を簡単に解説します. 現在,gnuplot は 表1 に示すような 4.6 系と 5.0 系が配布されていますが,必要なディスクサイズ,日本語化の作業面から,本講座では 4.6 系の final version である 4.6.6 を使うことを推奨します. 大容量の USB メモリを使っていて最新機能を利用したい方は 5.2 系を,多少手間がかかってもディスクサイズを抑えたいという方は 4.2.6 を利用するとよいでしょう.

表1・gnuplot 各バージョンの比較
バージョン 配布ファイルサイズ 必要ディスクサイズ 日本語化 ヘルプファイル
4.2.6 3.9MB 8.1MB 手動 HLP
4.6.6 18MB 39MB 自動 CHM
5.2.2 24MB 87MB

表の「必要ディスクサイズ」は,クラスタサイズ 4096 バイト (4K バイト) でフォーマットされた USB メモリ (USB メモリの準備 参照) に,各バージョンの gnuplot ポータブル環境を構築し,使用ディスク容量を調べた結果です. 「日本語化」は,メニューやヘルプが自動的に日本語表示となるか,手動設定が必要かを示します. 「ヘルプファイル」は,ヘルプファイルの形式が Windows 7/8/8.1/10 標準の CHM 形式なのか,Windows XP 以前の標準形式であった HLP 形式なのかを示します. HLP 形式を Windows 7/8/8.1 で開くには OS に Windows ヘルププログラムの追加インストールが必要となります. 2018 年 2 月現在,Windows 10 ではヘルププログラムが提供されていません. 詳しくは別項の説明を参照してください.

どのバージョンを使うかが決まったら,以下のメニューから読み進めてください.

  1. gnuplot 4.6.6 のインストール
  2. gnuplot ポータブル化のための設定
  3. 補足1: gnuplot 5.2 系のポータブル化
  4. 補足2: gnuplot 4.2.6 のポータブル化

gnuplot 4.6.6 のインストール

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

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

  1. まず gnuplot の配布ファイルをダウンロードします. Web ブラウザで gnuplot homepage (英文) を開き,Download から Primary download site on SourceForge へと進みます. そして,サブフォルダ 4.6.6 の中にある gp466-win32.zip (18.6MB, 2014-09-25) を,ローカルハードディスク (C: や D:) の適切なフォルダ (C:\temp など) にダウンロードしましょう.
  2. gp466-win32.zip を USB ドライブの usr\gnuplot フォルダに展開 (解凍) します. Windows のエクスプローラから展開 (解凍) を行うには,zip ファイルを右クリックして表示されるメニューから「すべて展開」を選び,圧縮フォルダの展開機能を利用すればよいでしょう.

zip ファイルの展開は,unzip.exe コマンドや,基礎編のファイル圧縮・展開 (解凍) ツールで紹介した 7-Zip Portable や PeaZip Portable でも展開 (解凍) 可能です. 展開 (解凍) 先の指定によっては usr\gnuplot\gnuplot に展開されてしまうかもしれませんので,エクスプローラなどで usr フォルダ以下のディレクトリ構造を確認し,必要に応じて修正してください (usr\gnuplot の下に bin,contrib,demo,docs などのサブフォルダがあるのが正常です).

ローカルハードディスク (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など) に保存しましょう. 「メモ帳」でこのスクリプトを作成する方は,保存時に wakegp.vbs.txt となってしまわないよう気をつけてください (失敗したらリネームすればよいだけですが).

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

図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 を編集して,PATH に usr\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 の検索エンジンなどを使えば,たくさんの解説が見つかるはずです. 自分にちょうどよいレベルのものを見つけて,じっくりと学習してください.

補足1: gnuplot 5.2 系のポータブル化

gnuplot 5.2.2 のポータブル環境には約 87MB のディスク容量が必要です. 4.6.6 に比べて約 2.2 倍のサイズ (4.2.6 の約 11 倍) になります. とにかく最新版という強いこだわりがないのでしたら,ポータブル化には 4.6.6 をお勧めします.

gnuplot 5.2 系をポータブル化するには,まず Primary download site on SourceForge の gnuplot フォルダの 5.2.2 サブフォルダの中にある gp522-win32-mingw.7z (24MB) を,ローカルハードディスク (C: や D:) の適切なフォルダ (C:\tempなど) にダウンロードします. そして gp522-win32-mingw.7z を USB ドライブの適切なフォルダ (C:\usr) 以下に展開 (解凍) します※2. 7z ファイルを展開するには,ファイル圧縮・展開(解凍)ツールで紹介している 7-Zip Portable や PeaZip Portable が利用できます.

後は gnuplot を起動するための WSH スクリプト wakegp.vbs を作成して,このスクリプトを起動すればよいでしょう. 動作チェックや「セキュリティの警告」に関する設定は前述の通りです.

できるだけ,1度は gnuplot フォルダにある README-Windows-ja.txt や,NEWS (英文のテキストファイル),RELEASE_NOTES (英文のテキストファイル) などに目を通しておきましょう.

補足2: gnuplot 4.2.6 系のポータブル化

gnuplot 4.2.6 のポータブル環境には約 8.1MB のディスク容量が必要です. 4.6.6 の 1/5 とサイズは小さくてよいのですが,その代わりに日本語化の設定に手間がかかることや,ヘルプファイルが古い HLP 形式であるためホスト PC の環境によってはヘルプが利用できないといった制約もあります. とにかくディスク容量を抑えたいというのでなければ,ポータブル化には 4.6.6 をお勧めします.

gnuplot 4.2.6 をポータブル化する手順は以下の通りです:

  1. Primary download site on SourceForge の 4.2.6 サブフォルダの中にある gp426win32.zip (3.9MB, 2009-09-05) を,ローカルハードディスク (C: や D:) の適切なフォルダ (C:\tempなど) にダウンロードします.
  2. gp426win32.zip を USB ドライブのインストール先 (U:\usr) 以下に展開 (解凍) します.
  3. 新潟工科大・竹野研究室の gnuplot のページを開き,「MS-Windows 用の gnuplot の日本語化キット」から,gnuplot-4.2.6 用の wgp426-ja-20090907.zip を,ローカルハードディスク (C: や D:) の適切なフォルダ (C:\tempなど) にダウンロードします.
  4. wgp426-ja-20090907.zip をローカルハードディスク (C: や D:) の適切なフォルダ (C:\tempなど) に展開 (解凍) します. 次の 3 つのファイルが展開 (解凍) されます.
    • wgunplot-ja.hlp : 日本語オンラインヘルプ
    • wgnuplot-ja.mnu : メニューの日本語化ファイル
    • READMEwin-ja : 説明書 (この先の作業を進める前に,テキストエディタで開いて読んでおきましょう)
  5. wgp426-ja-20090907.zip から展開されたファイルのうち,wgnuplot-ja.hlp と wgnuplot-ja.mnu を USB ドライブの usr\gnuplot\bin にコピーします (wgnuplot-ja.mnu はオリジナルの gp426win32.zip にも含まれているので上書きします). READMEwin-ja は,USB ドライブの usr\gnuplot あたりにコピーしておくとよいでしょう (不要な人は削除してもよいかもしれません).
  6. コマンドプロンプトを開き,次のように入力します (USB ドライブのドライブレターが U: である場合の例で,[Enter] は Enter キーの入力を意味します). デフォルト (英語) のメニューファイルを wnguplot-en.mnu,ヘルプファイルを wgnuplot-en.hlp にリネームして保存しておき,日本語メニューと日本語ヘルプを使うことにしています.
    U:[Enter]
    cd \usr\gnuplot\bin[Enter]
    ren wgnuplot.mnu wgnuplot-en.mnu[Enter]
    ren wgnuplot.hlp wgnuplot-en.hlp[Enter]
    ren wgnuplot-ja.mnu wgnuplot.mnu[Enter]
    ren wgnuplot-ja.hlp wgnuplot.hlp[Enter]
    
  7. gnuplot を起動するための WSH スクリプト wakegp.vbs を作成して,このスクリプトを起動します. gnuplot の起動画面 (図2) の文字が判読しにくければ,画面下半分の適当な箇所でマウスを右クリックし,表示されるプルダウンメニューから Choose Font... をクリックします. 図3のフォント選択ダイアログボックスが表示されるので,サイズを大きめ (14程度) にして,[OK] をクリックします.
    図3・フォント選択ダイアログボックス
    図3・フォント選択ダイアログボックス
  8. 画面表示の文字が自分でちょうど良いと感じるサイズになるまで,繰り返し調整します. 調整が終わったら,右クリックメニュー (図2) から,Update を選択して,フォント選択の設定を wgnuplot.ini に保存します.

gnuplot 4.2.6 ではヘルプファイルが HLP 形式で提供されています. なお,Windows Vista/7/8/8.1 では,標準では拡張子が .hlp のヘルプファイルが開けないため,OS に Windows ヘルププログラムの追加インストールが必要となります. 2017 年 2 月現在,Windows 10 ではヘルププログラムが提供されていません. このヘルププログラムはポータブル化できませんので,環境によってはヘルプ機能が利用できないことになります. 詳しくは別項の説明を参照してください.