| gnuplot | |
|---|---|
gnuplotによる楕円体の3Dレンダリング | |
| リリース | 1986年 (1986年) |
| 安定放出 | 6.0.4 [ 1 ] / 2025年12月18日 ( 2025年12月18日) |
| プレビュー版 | 6.1 [ ± ] |
| 執筆 | C |
| タイプ | プロット |
| ライセンス | gnuplot [ 2 ] [ 3 ] |
| Webサイト | www.gnuplot.info |
| リポジトリ |
|
gnuplotは、関数、データ、およびデータ適合の2 次元および 3 次元のプロットを生成できるコマンドラインおよびGUIプログラムです。このプログラムは、主要なすべてのコンピュータおよびオペレーティングシステム( Linux、Unix、Microsoft Windows、macOS、FreeDOS、その他多数) で動作します。[ 4 ] 元々は 1986 年にリリースされ、その著者として Thomas Williams、Colin Kelley、Russell Lang、Dave Kotz、John Campbell、Gershon Elber、Alexander Woo、「その他多数」が挙げられています。[ 5 ]その名前にもかかわらず、このソフトウェアはGNU プロジェクトの一部ではありません。
gnuplot は、画面に直接出力したり、Portable Network Graphics (PNG)、Encapsulated PostScript (EPS)、Scalable Vector Graphics (SVG)、JPEGなど、多くの形式のグラフィック ファイルで出力したりできます。また、 LaTeX のフォントや強力な数式表記機能を利用して、LaTeX ドキュメントに直接組み込むことができるLaTeXコードを生成することもできます。このプログラムは、対話モードでもスクリプトを使用したバッチ モードでも使用できます。[ 6 ]
Gnuplot は、他のプログラムによって生成されたデータをその場で読み込む機能 (パイプ処理)、1 つの画像上に複数のプロットを作成する機能、2D、3D、等高線プロット、パラメトリック方程式、さまざまな線形および非線形座標系、投影法、地理および時間データの読み取りと表示、さまざまな形式の箱ひげ図、ヒストグラム、ラベル、および手動で設定したり、スクリプトで計算したり、入力データから自動的に設定したりできる形状、テキスト、画像などのその他のカスタム要素をプロット上に配置できるなど、複数の形式のデータを読み込むことができます。
gnuplot は、スクリプト機能、ループ、関数、テキスト処理、変数、マクロ、入力データの任意の事前処理 (通常は列全体)、および非線形多次元多集合重み付きデータフィッティングを実行する機能も提供します (曲線フィッティングとレーベンバーグ-マルカートアルゴリズムを参照)。
gnuplot のコアコードはC 言語で記述されています。Qt 、wxWidgets、LaTeX/TikZ/ConTeXt を介した出力のためのモジュール式サブシステムは、C++ と Lua で記述されています。

以下のコードは、右側のグラフを作成します。
タイトルを「いくつかの数学関数」に設定し、x軸の範囲を[ -10 : 10 ]に設定し、 y軸の範囲を[ -2 : 2 ]に設定し、軸をゼロに設定し、 ( x / 4 ) ** 2 、sin ( x ) 、1 / xをプロットします。このプログラムの名前は、元々は「newplot」というプログラムとの衝突を避けるために選ばれたもので、元々は「llamaplot」と「nplot」の中間的な名前だった。[ 7 ]
バージョン5.4.2におけるEpidemicの日次および週次フォーマットのサポートは、パンデミックコロナウイルスのデータニーズの結果である。[ 8 ]
| 著者 | トーマス・ウィリアムズ、コリン・ケリー |
|---|---|
| 公開済み | 1986年~1993年、1998年、2004年 |
| SPDX識別子 | gnuplot [ 2 ] |
| Debian FSG互換 | はい |
| FSF承認済み | はい |
| OSI承認済み | はい |
| GPL互換 | いいえ[ 9 ] |
| コピーレフト | いいえ |
| Webサイト | sf |
gnuplot という名前にもかかわらず、 GNU プロジェクトにちなんで名付けられたものでも、GNU プロジェクトの一部でも、GNU プロジェクトと関連しているものでもなく、 GNU 一般公衆ライセンスも使用していません。これは、オリジナルの作者たちが妥協案として、動物のgnuと、既に使われていたため破棄された計画名 newplot を掛け合わせたものです。[ 10 ]
gnuplot の公式ソースコードは自由に再配布できますが、その改変版は再配布できません。gnuplot ライセンスでは、公式リリースに対するパッチの配布が許可されており、必要に応じて公式リリースされたソースコードも添付できます。バイナリは、改変されていないソースコードとそれに適用されたパッチとともに配布できます。改変されたソフトウェアの技術サポートを受けるために、派生作品には連絡先情報を提供する必要があります。[ 3 ]
ソフトウェアの改変は許可されますが、改変後のソースコード全体を配布する権利は認められません。改変内容は、リリース版へのパッチとして配布してください。
このような制約があるにもかかわらず、gnuplotは多くのGNUパッケージで採用され使用されており、 DebianやFedoraといったより厳格なLinuxディストリビューションを含む多くのLinuxディストリビューションに広く含まれています。OSIオープンソース定義とDebianフリーソフトウェアガイドラインでは、パッチとソースコードの両方を配布することを明示的に許可することで、変更されたソースコードの配布に関する制限を具体的に認めています。
より新しいgnuplotモジュール(Qt、wxWidgets、cairoドライバなど)は、gnuplot + BSDやgnuplot + GPLといったデュアルライセンス条件の下で提供されています。
いくつかのサードパーティ製プログラムには、gnuplotをプロットエンジンとして使用してグラフを生成するためのグラフィカルユーザーインターフェースが備わっています。これらには以下が含まれます。
gnuplotを使用するその他のプログラムには以下が含まれます。
gnuplot は、C++ ( G3P経由)、Perl ( PDLおよびその他のCPANパッケージ経由)、Python ( gnuplotlib、Gnuplot-py、SageMath経由)、R ( Rgnuplot経由)、 Julia ( Gaston.jl経由) 、Java ( JavaGnuplotHybridおよびjgnuplot経由)、 Ruby ( Ruby Gnuplot経由)、Ch ( Ch Gnuplot経由)、Haskell ( Haskell gnuplot経由) 、 Fortran 95、[ 22 ] Smalltalk ( SqueakおよびGNU Smalltalk )、Rust ( RustGnuplot経由)など、さまざまなプログラミング言語からデータグラフを作成するために使用できます。
gnuplot はスクリプトによく見られるパイプ処理もサポートしています。 [ 23 ]スクリプト駆動グラフィックスでは、gnuplot は最も人気のあるプログラムの 1 つです。