ページが長いので「しおり」の仕組みを用意してみました。
「しおり用」と書かれた所をクリックしてからブックマークに入れると、
それはページの先頭ではなく、その箇所へのブックマークになります。
(03/03 2006)
今までちゃんと説明していませんでしたが、
ここには、日付ごとに記事 (記事 A とします) を書いていますが、
その最後に、(cf. 「情報やメモ (XX/XX 20XX)」)
のように別な日付の記事 (記事 B とします)
へのリンクがついているものがあります。
これは、「被参照リンク」で、
記事 B が記事 A を参照している (リンクを貼っている) ことを意味します。
つまり、記事 B の方が記事 A より後の記事であり、
記事 A の続きや追加情報、訂正などの内容であったり、
記事 A に関連する別な話題であったりしますので、
記事 A に被参照リンクがついている場合は、
是非そちら (記事 B) もご覧ください。
(01/29 2014)
- (12/27 2024)
(しおり用)
2024-12-20 頃にリリース版の 6.0.2 が出ていました。
6.0.2 での変更、修正は以下のようです。
- 新規: 描画スタイル "with hsteps" の後方導入
- 新規: 描画スタイル "splot with filledcurves"
(滝グラフ) の後方導入
- 新規: 一般的な binary キーワードオプション "blank=NaN"
- 空行に関連する描画スタイルへのバイナリ入力を可能に
- 新規: splot での多面体で pm3d の色付けが可能に
- 三角モザイク形式の 3 次元 pm3d 曲面が使えるように
- 新規: ./configure --with-readline=bsd で BSD editline をリンク時に
端末で UTF-8 入力が機能するように
- 変更: 局所変数の再実装を後方導入
- 関数ブロックの評価の高速化、定義スコープをよりよく
- 変更: boxplot の外れ値の水平方向の広がりに対する揺らぎを適用
- 変更: "save" のファイル出力の最後に $GPVAL_LAST_MULTIPLOT を出力
- 修正: 対数軸の軸刻み生成方法の改良版の後方導入
(Bug 2372, Bug 2717)
- 修正: $GPVAL_LAST_MULTIPLOT に無関係なコマンドを保存しないように
(Bug 2714)
- 修正: svg: gnuplot_svg.js が局所単一モードで動作するよう改良
(2715)
- 修正: "set table": splot でキーワード
"nosurface" を受け入れる
- 修正: "set table": z が plot で出力される場合は
"set format z" を受け入れる
- 修正: z でクリッピングされた曲面の端の近くでのよりよい等高線付け
- 修正: x11: 有効でない描画ウィンドウでの対数軸のマウス処理 (Bug 2723)
- 修正: at: 有効でない描画ウィンドウでの対数軸のマウス処理 (Bug 2723)
- 修正: wxt: 有効でない描画ウィンドウでの対数軸のマウス処理 (Bug 2723)
- 修正: wxt: "persist" モードに入る前に
スレッド毎のフォントデータを開放 (Bug 2693)
- 修正: "set tics scale" は他の軸属性を変更しないよう (Bug 2724)
- 修正: "splot with circles" の一部分として塗り潰し属性を
指定できるように
- 修正: key タイトルの属性の一部が "show", "save"
で表示されない (Bug 2729)
- 修正: 値 NaN の variable color の点は表示しないように (Bug 2737)
- 修正: "set term tikz nostandalone" は latex
ラッパーを抑制するよう (Bug 2740)
- 修正: pm3d 曲面同士の特別な交差の処理 (Bug 2744)
- 修正: "return" がない関数ブロックで開放されたメモリの
利用を避ける (Bug 2745)
今回は、変更と修正だけではなく、
開発版で導入された新規機能の後方導入 (backport) が含まれています。
特に、「with hsteps」, 「splot with filledcurves」については、
既に開発版についてこのページで紹介していますが、
それが 6.0.2 でも使えるようになりました。
6.0.2 の all.dem の出力も置いておきます。
前回の 6.0.0 用のもの
(「情報やメモ (01/12 2024)」)
と比較すると、以下のようになっています。
- 削除されたもの (6.0.0 のページ番号):
667-673 (stringvar.dem)
計 7 ページ (all.dem から削除 (コメントアウト) されたのは 1 ファイル)
- 追加されたもの (6.0.2 のページ番号):
- 22 (fs_empty.dem: 境界色の色を fs とは別に指定できるようになった)
- 34 (waterfallplot.dem: 「splot with filledcurves」(waterfall plot))
- 352 (binary_polygon.dem:「binary keyword option blank=NaN」)
- 356-358 (hstep.dem: 「with hsteps」)
- 359 (rank_sequence.dem: 「with hsteps」)
- 360 (logic_timing.dem: 「with hsteps」)
- 738 (log_tics.dem: 「対数軸の軸刻み生成方法の改良版」)
計 9 ページ (新規に追加されたデモファイルは 7 ファイル)
追加分の方は後ろにコメントを書きましたが、22 ページ以外のものは
上の新規・変更・修正に対応したものです。
それにともない、gnuplot の付属マニュアルも
6.0.1 からかなり改訂されました。
ただ、そのほとんどは既に開発版に取り入れられている変更なので、
日本語訳の修正作業はそれほど大変でもありませんでした (やれやれ)。
- (12/03 2024)
(しおり用)
最新の開発版 (git) の all.dem の出力を置いておきます。
「情報やメモ (08/23 2024)」
の時点のデモ (780) と比べると、以下が追加されています。
- 新規追加: 34 ページ (waterfallplot.dem)、
353 ページ (delaunay.dem)
waterfallplot.dem は最近追加された新しいデモですが、
delaunay.dem は少なくとも 6 月位には追加されていたデモで、
今回ようやく all.dem の仲間入りをしたものです。
本家の開発版のデモには、両者とも置かれています
(デモ一覧には delaynay.dem の方は見当たりませんが)。
「情報やメモ (08/23 2024)」
からの改変には、以下のようなものがありますが、抜けもだいぶあると思います。
- 背景色指定の「bgnd」を「background」でも利用できるように
(今までも使えてた ?)
- boxplot 描画スタイルの整備 (4 列目のカテゴリは文字列に)
for 文を可能に
- waterfall plot (3 次元滝グラフ) の新規追加
- 境界属性を splot コマンド上で個々の曲面に指定できるように
(従来は set pm3d border による境界属性がすべての 3 次元多角形に適用)
- delaunay (ドロネー図) フィルタの追加
残念ながらちゃんと説明できるほどよくわかってはいません。
waterfall plot は、偏微分方程式の解の表現 (ソリトンの衝突とか)
で見たことがあるようなグラフのようです。
- (08/23 2024)
(しおり用)
最新の開発版 (git) の all.dem の出力を置いておきます。
「情報やメモ (11/29 2023)」
の時点のデモ (783) と比べると、以下が追加、削除されています。
- 新規追加: 22 ページ (fs_empty.dem)、
351 ページ (binary_polygon.dem)、
681 ページ (extra_points.dem)
- 削除: 2023-11-29 の 674 ページから 680 ページ (stringvar.dem)
stringvar.dem はなくなったわけではなく、
all.dem でコメントアウトされて load されなくなっただけです。
この stringvar.dem の後半部分が、新規の extra_points.dem で紹介されている
"with marks" で置き換わるものなので、
入れ替えられたのだと思います。
なお、fs_empty.dem は実は今年 2 月位には取り入れられていたものです。
「情報やメモ (11/29 2023)」
からの改変には、以下のようなものがありますが、抜けもだいぶあると思います
(報告を長いことサボっていてすみません)。
- plot, splot に「if <式>」と指定して、
データファイルの行で式の条件が偽となる行は読み飛ばす機能を追加
- 「for [<var> in Array]」で配列 Array の要素を渡る
for 文を可能に
- ls variable で linestyle 番号をデータから読み込んで使用できるように
- 「splot with coutourfill at base」
- 「with marks」(ドキュメントはまだ)
- 塗り潰し用の「fc variable」
- バイナリデータで空行に代わるものが使えるように (binary ... blank=NAN)
- gnuplot セッションの開始時から変更されたもののみを保存する
「"save changes '<filename>'」
- *range の writeback オプションの削除
(後方互換性のため一応まだ使えるが何もしない)
- with boxplot での set jitter の利用
このうち、1. は、例えば
plot FOO using (strcol(1) eq "ABC" ? $2 : NaN):3 with linespoints
のように using 内の条件式で不要な行を読み捨てていたものを、
よりわかりやすく
plot FOO using 2:3 with linespoints if (strcol(1) eq "ABC")
のようにできるようにした、というものです。
2. は、plot for などで利用でき、例えば以下のような例が載っています:
Array animals = ["dog", "cat", "mouse",
"llama"]
do for [creature in animals] {
INFILE = creature.".dat"
OUTFILE = creature.".pdf"
plot INFILE with boxes title creature
}
配列の添字を for の変数にしても同様の事はできますが、
配列の要素そのもの (文字列でもよい) を使える方が楽な場合もあります。
5. が多分最近一番の目玉だと思いますが、
まだドキュメントやデモがそろっていません。
これは、記号オブジェクトを自分で定義し、
それを object や point のように使用する、というものです。
これまでも、ユニコード文字を記号の代わりに使うことができたりしましたが、
ユニコードにない記号を定義してグラフに利用することができるようになるようです。
詳しいことがわかったらまた紹介しますが、
上の
all-current-20240823.pdf
の 681 ページの追加分がその一つのデモになっています。
それに見られる□や○、△、☆(の逆) の記号はいずれもそのデモファイル
extra_points.dem 内で定義されたものです。
(cf. 「情報やメモ (12/03 2024)」)
- (06/07 2024; no.2)
(しおり用)
以前考えた「帯グラフ」(積み上げ型ヒストグラムに対応する斜め線をつけたもの)
について、新しい書き方について紹介します
(cf. 「情報やメモ
(12/03 2005; no.3)」,
「情報やメモ
(02/07 2015)」)。
2005-12-03 のサンプルでは、AWK スクリプトを使用して
データの方を加工して、それを gnuplot に食わせる方法を紹介しました。
2015-02-07 のサンプルでは、積み上げ型ヒストグラム (with hist)、
ラベル (with labels) で 90度回転した帯グラフとその中の文字列を描き、
set object と with labels で回転した key を自作し、
さらに with lines (or with vectors) で対応するヒストグラフ同士を結ぶ
破線を作成しました。
この 2015-02-07 の方法では、前半部分は比較的容易にできるのですが、
それに比べて対応するヒストグラムのグループ同士を結ぶ破線の作成が
かなり難しい方法しかできませんでした。
それに対し、「情報やメモ
(09/29 2023)」 で報告していましたが、
Ethan さんからそれは開発版 (6.1) で実装されている with hsteps
を使えば可能、というアナウンスを 2023-09-17 に頂いていたのですが、
それをまだ試していませんでした。
それを今回やってみたので紹介します。
サンプルは、2015-02-07 のものを利用します。すなわち、データは
年号 第一次産業 第二次産業 第三次産業
1920 54.9 20.9 24.2
1940 44.6 26.2 29.2
1960 32.7 29.1 38.2
1980 10.9 33.6 55.4
2000 5.1 29.8 65.1
で、接続線以外は以下で作成できます。
set term wxt size 480,640
stats 'datafile' using 1 nooutput
N = STATS_records
M = STATS_columns
bw = 0.5 # 棒グラフの幅
set boxwidth bw
set style histogram rowstacked
set style fill solid 0.5 border lc black
set xrange [-1.5:N+1]
set yrange [0:100]
unset key
set grid lc black lt 1
# ラベル
set xtics rotate by 90 offset 0,-2
set ytics rotate by 90 offset 0,0.5
set lmargin 12
set bmargin 5
set label "産業別就業者数(15歳以上)の構成率の変化" \
at screen 0.05, screen 0.2 rotate by 90 font ",17"
set label "(%)" at screen 0.1, screen 0.53 rotate by 90
set label " (年)" at screen 0.5, screen 0.01 rotate by 90
# colsum(n) = column(2) から column(n) までの和
colsum(n) = sum [i=2:n] column(i)
# 自作の key のサンプル長方形の描画
ep = 0.1
set for [j=1:M-1] object rectangle \
from (-1.5+0.5*j-ep),78 to (-1.5+0.5*j+ep),82 fc lt j \
fs solid 0.5 border lc black
# 棒グラフとグラフ内の文字列と自作の key の見出し文字列の描画
plot for [k=2:M] 'datafile' using k:xtic(1) with hist,\
for [k=2:M] '' \
using 0:(colsum(k)-column(k)/2.0):(sprintf("%.1f%%",column(k))) \
not with labels rotate by 90,\
for [k=2:M] '' \
every ::0::0 using (-2+0.5*k):(90):(strcol(k)) with labels rotate by 90
- 上のスクリプトの出力 (wxt terminal の PNG 出力)
なお、colsum ($2 から $n までの和) の定義は、
以前は 3 項演算子による再帰的な方法で書いていましたが、
現在は sum で代用できるのでそれに書き直しています。
修正はその程度です。
さて、問題の接続線ですが、with hsteps では、単なる階段関数だけでなく、
階段関数の階段部分の幅を固定して、
階段同士をつなぐ斜め線が描けるようになっています。よって、
hsteps の幅をヒストグラムの箱の幅 (bw) に固定して、
with hsteps link による描画を追加するだけで接続線が描けます。
実際には、「with hist,\」の次に次の行を入れるだけです。
for [k=2:M] '' using 0:(colsum(k)):(bw) with hsteps link lc black dt 2,\
- 上の行の追加の結果 (wxt terminal の PNG 出力)
追加行の意味は容易だと思いますが、「lc black dt 2」は破線指定です。
これで、確かに Ethan さんの言う通り、
ものすごく簡単に接続線が描けるようになりました。
- (06/07 2024)
(しおり用)
2024-05-29 頃にリリース版の 6.0.1 が出ていました。
6.0.1 での変更、修正は以下のようです。
- 変更: multiplot 内部での入力データ '-' の利用はエラーに。
代わりにデータブロックを使用すること。
- 変更: gd: "dot" (点種 0) は現在の線幅 (linewidth) で伸縮
(Bug 2690)
- 変更: configure スクリプトを Fedora の依存関係に合わせた修正
(Bug 2706)
- 修正: CSV ファイルの空フィールドは tic ラベルを生成しないように
(Bug 2667, 2672)
- 修正: ズーム時に自動縮尺、軸範囲の延長をしないように
(Bug 2679)
- 修正: x11: 拡張文字列の不正な回転に対する経験的な補正
(Bug 2661)
- 修正: wxt: マウスイベント処理に対する例外処理の追加
(Bug 2680, 2683)
- 修正: wxt: 右マウスズームボックスを出力のスケールに独立に
(Bug 2578)
- 修正: 後退: オブジェクトの境界色を fillstyle "empty" に
(Bug 2686)
- 修正: "set colorbox border {<lt>}" の解析エラー
- 修正: svg: 深さ順にソートされた pm3d オブジェクト用に
デフォルトの塗り潰し属性の設定
- 修正: gd x11: とても短い矢が描画されない問題
(Bug 2690)
- 修正: "stats ... name FOO" が存在する変数
FOO_* を削除しない問題
(Bug 2695)
- 修正: "fs solid fc variable" での 2 次元描画の順序依存解析
- 修正: mp: mp 出力形式を取り込むための configure --with-metapost の失敗
- 修正: qt wxt x11: スクリプトでの "set term"
が次の pause を失敗させる
(Bug 2703)
- 修正: tikz: 固定数色のパレットの使用での問題
(Bug 2706)
今回は新規機能の追加はなく、変更と修正だけです。
6.0 が出たばかりなのでまだ安定しないのか、かなり修正が入っています。
- (04/19 2024)
(しおり用)
gnuplot-6.0.0 の Windows 用バイナリがようやく本家
(http://www.gnuplot.info)
で公開されました。ということで、
「情報やメモ (01/19 2024)」
に置いていた野良ビルド版は削除します。
本家の正式なものをご利用ください。
- (01/19 2024)
(しおり用)
gnuplot-6.0.0 の Windows 用バイナリがまだ本家
(http://www.gnuplot.info)
では公開されていませんので、野良ビルド版を置いておきます。
なお、野良ビルドなので
動作保証はありません。自己責任でご利用ください。
本家で正式な Windows バイナリが公開されたら削除する予定です。
gp600-win64-mingw-20240119.zip (23,369,623 Byte)
(Windows バイナリが本家で公開されましたので削除しました)
一応 cairo, wxt, webp, caca, lua なども使えるようにしてあります。
なお、zip 版でなく、inno setup によるインストーラ版も作れるのですが、
野良ビルドだとやや危険ですし、
うちではその野良ビルドしたインストーラ版でインストールしてみたら、
最後のスタートメニューへの登録のところでセキュリティソフト (Norton)
に怒られてしまうものしかできませんでしたので、
インストーラ版は置きません。
ちなみに、今の Makefile はよくできていて、
msys2-mingw64 があれば比較的容易にビルドは可能です。
ただ、今回 6.0.0 のビルドをしてみたところ、
いくつか気がついたところがありますので、
それを以下に書き留めておきます。
- Makefile の修正
作業は展開したディレクトリ gnuplot-6.0.0 の中の config/mingw/
で行いますが、
そこの Makefile はそのまま使用するとうまくいかず、
いくつか修正が必要です。
- #RELEASE=1 の行のコメント記号を (#) を外して有効にする
- #WATCHPOINTS=1 の行を有効にする
(ついでに POLAR_GRID, FUNCTIONBLOCKS, STABLE_SORT も有効にするとよい)
- #CAIROTERMS=1, #CAIROLIBS=1, #WXT=1 を有効にする
- #NEWGD=1, #JPEG=1, #FREETYPE=1, #GDAUTOCONFIGLIBS=1 を有効にする
- #LLDS=1 を有効にする
1. は、これが有効になってないと、git 版とみなされて
git 版用の作業を行おうとしてエラーになります。
2. は、ソースの依存関係が少しうまくいってなくて、
これを有効にしないと src/filters.c で使われている bisect_hit()
(src/watch.c で定義されている) が参照できないというエラーがでます。
3. は、gnuplot.pdf の作成の途中で、gnuplot が plotstyles.gnu
を実行する際に pdfcairo terminal を使用するので、
有効にしないとそこでエラーができます。
または gnuplot.pdf を作成しないようにスキップするという手もあります。
4. も同様で、plotstyles.gnu の実行時に、
filetype=png というバイナリファイルの読み込みのために
gdlib を必要とします (多分全部を有効にする必要はないと思います)。
5. は、make install か make zip か make installer の際に、
必要な DLL ファイルをコピーするためには必要です。
そうしないと .dll ファイルをコピーしないので、
必要な .dll がある場所にパスを通す必要があります。
- 必要なソフト、ライブラリの準備
msys2-mingw64 環境の他に、上でも指定したライブラリ等が必要です。
現在は、pacman で導入できるものが多く、かなり楽です。
今回新たに追加された webp 出力形式についても、
「packman -S mingw64/mingw-w64-x86_64-libwebp」
で簡単にインストールできます。
また、gnuplot.pdf 等を作成するためには、
LaTeX 等の環境 (pdflatex, ps2pdf)、および picins.sty が必要です。
うちは、TeXLive が入れてあったのですが、
msys2-mingw64 環境からは LaTeX 環境が使えるようにはしてなかったので、
一旦 make が止まったところで、
TeXLive でその LaTeX ファイル等のコンパイルを、
Makefile を見ながら手動で行いましたが、ちょっと面倒でした。
- FAQ.pdf のコピー
展開したトップディレクトリにある FAQ.pdf も config/mingw/
に置く必要があるようです。でないと install 時にエラーとなります。
ちょっと手間はかかりましたが、
これでも昔に比べればかなりうまく自動的に進んでくれて
だいぶ楽だと思います。
- (01/18 2024)
(しおり用)
gnuplot-6.0.0 のリリースノート (RELEASE_NOTS) の、
バージョン 6.0 での変更や新しい機能等に対する紹介部分の和訳を
以下に紹介します。
===== ここから =====
- 関数ブロックと局所変数
- より多くの特殊関数と複素数値関数
- 新しい描画スタイル
- 2 次元描画スタイル with surface は、2 次元極座標で動作し、
平面をベタ塗りの格子分け表現をします。
- 2 次元描画スタイル with sectors は、入力データの各行に対して扇片
("sector") を一つ描画します。
このスタイルで、円グラフやドーナッツグラフ、風配図 (wind rose)、
そして極座標での疎行列温度分布図に相当するものなどが作成できます。
- 2 次元描画スタイル with lines には、今はフィルタオプション
sharpen があります。このオプションは関数描画の際に、
粗い標本化では見逃されたり隠れてしまったりする急激な変化を検出し、
そしてそのような各頂点の場所に標本点を追加します。
- 3 次元描画スタイル with contourfill は 2 次元、
または 3 次元曲面のいくつかの z の範囲を、
それぞれ色のベタ塗りで明示します。
- 閉包 (hulls)、マスキング (masks)、平滑化 (smoothing)
- 2 次元の点の集まりは、それを囲む多角形 (hull)
で置き換えることができます。
凸包と凹包 (χ-形状) の両方をサポートしています。
- 閉包やその他閉じたパスはすべて、
pm3d 曲面や画像描画の選択した領域のみを表示するための
マスクとして使えます
- 新しい平滑化オプション smooth path は、x か y に関して単調でない
2 次元、3 次元曲線に使えます。これは凸包の平滑化を許容します。
- 名前付きパレット
- 現在のパレットを、名前付きカラーマップとして保存し
後で利用することができます。
- viridis という名前のパレットがあらかじめ定義され用意されています。
- plot コマンドは、事前に保存したパレットを名前で指定できます。
- 名前付きパレットは、アルファチャネルを含むよう編集できます。
- 新しい組込み関数と配列操作
- palette(z) は、z に対応する現在の RGB パレット色を返します。
- rgbcolor("name") は、名前付きの色に対する 32bit ARGB
値を返します。
- index(Array, element) は、Array[i] が element に等しくなる
最初の添字 i を返します。
- split("string", "separator") は、
文字列 "string" 内のフィールド部分文字列を
文字列の配列に分割します。
- join(array, "separator") は、split() の逆です。
これは、文字列の配列 array の要素を 1 つの文字列に連結します。
- stats に存在しないファイルを指定すると、
エラーを起こさずにテスト可能な値を出力しますが、
これはスクリプトでのエラーや警告を避けるのに便利です。
- プログラム制御
- 新しい書式 if {...} else if {...} else {...}
- 設定ファイルに関する XDG ベースのディレクトリ規約をサポート。
- unset warnings は、コンソールへの警告メッセージの出力を抑制します。
- コマンド fit は、例外処理で保護されます。
fit のエラーの場合であっても制御は常に次の入力行に帰ります。
エラーが起きた場合、帰ったときには FIT_ERROR は 0 でない値になります。
- ウォッチポイント (watchpoint) は、
グラフ内の個々の曲線に関連する対象値です。
曲線を描画するとき、各線分要素が、その両端点の間にウォッチポイント座標
(x, y か z) か関数 f(x,y) の対象値を含んでいるかを確認します。
それが見つかった場合、そのマッチする点の座標 [x,y] を
後で使用するために保存します。その利用法は例えば、
- 2 つの曲線の交点を見つけること
- 関数のゼロ点を見つけること
- 従属変数 (y か z) か、
関数 f(x,y) が指定値と一致する場所を見つけ表示すること
- マウスを使って複数のグラフに沿った値を同時に追跡すること
- 新しい出力形式と出力形式オプション
- 文字列出力とグラフィック表示を同じウィンドウで行う出力形式では、
現在は疑似マウスをサポートしています。
すなわち、pause mouse の間は矢印キーや
他に割り当てられるホットキーに反応します。
- 新しい出力形式 kittygd と kittycairo は、
kitty プロトコルをサポートする端末エミュレータで、
端末ウィンドウ上でのグラフィックを提供します。
- 新しい出力形式 webp は、webp エンコーディングを用いて、
単一フレームか、アニメーション列を生成します。
各フレームは pngcairo で生成し、
WebPAnimEncoder API を通してエンコードを行います。
- 新しい出力形式 block は、疑似グラフィックのテキストモード用のもので、
Unicode ブロック、あるいは点字 (Braille 文字) を使用して
dumb や caca 出力形式の解像度を改良します。
- latex 出力形式のスタンドアロンモードは、
texlive2023 で機能するように更新。
- その他の新しい機能
- 現在多重描画グラフ (multiplot) は、保存、再描画 (replot)、
サイズ変更を対話的に行うことができます。
これは、これまでのすべて版の gnuplot とは異なる変更で、
これまでは multiplot の最後の描画要素が再描画できるにすぎませんでした。
- 軸の主目盛り、副目盛りへの時間の単位の設定。
例えば、副目盛りの刻みを正しく 1 ヶ月間隔で配置することができます。
- using 指定内での文字列 $# は、
現在の入力データ行にある全列数と評価します。
例えば、「plot FOO using 0:(column($# - 1))」は、
各行の最後から一つ手前の列を描画します。
- bin (箱) 用の、合計でなく平均を描画するキーワード binvalue=avg
- set colorbox bottom は、カラーボックスをグラフの下に配置します。
- set pm3d spotlight はユーザ制御型のスポットライトを光源モデルに追加。
- key の全体の幅と列数を固定する新規オプション key layout。
ページ上部の key の自動的な配置は、offset
を指定することで手動で微調整できます。
- set isotropic は、2 次元グラフと 3 次元グラフの両方で、
x, y, z 軸のすべてのスケールが同じになるようにスケールを合わせます。
- 文字の回転角が整数という制限はなくなりました。
- 描画スタイル histograms でのデータ駆動型の色割り当て
===== ここまで =====
かなり大量にあることがわかります。
すでに git 開発版について紹介したものもありますが、
私もすべて試しているわけではありませんので、
便利な機能については、使ったときにでも少しずつ紹介できればと思います。
- (01/12 2024)
(しおり用)
2023-12-29 頃に、ついに gnuplot-6.0.0 がリリースされました。
まだ Windows バイナリは置いてないようですが、
ソースアーカイブが置かれていますので、
開発環境があればビルドできます。
いつもなら NEWS ファイルに書かれている、
前のバージョンからの更新情報を和訳したものを紹介するのですが、
今回の 6.0.0 の NEWS ファイルでは、
Too many changes between version 5 and version 6 to list here.
See Release Notes.
と書かれていますので、
後で RELEASE_NOTS の該当部分の和訳を紹介したいと思いますが、
結構大量なので、もうしばらくお待ちください。
とりあえず、6.0.0 の all.dem の出力を置いておきます。
前回の 5.4.7 用のもの
(「情報やメモ (05/24 2023)」)
と比較すると、以下のようになっています。
- 削除されたもの (5.4.7 のページ番号):
420 (pm3d.dem の中の 1 つ),
457-475 (pm3dcolors.dem),
493 (heatmaps.dem の最後の 1 つ),
601-602 (rgbalpha.dem),
626-627 (circles.dem の最後の 2 つ),
707-780 (voxel.dem),
計 99 ページ (all.dem から削除されたのは 3 ファイル)
- 追加されたもの (6.0.0 のページ番号):
32 (fillbetween.dem の最後の 1 つ),
49-50 (smooth_splines.dem の最後の 2 つ),
53-54 (smooth_path.dem), 55-57 (convex_hull.dem),
58-60 (concave_hull.dem), 61-62 (iris.dem),
63-65 (mask_pm3d.dem),
129-132 (polargrid.dem),
134-147 (sectors.dem),
224-225 (surface_explicit.dem),
252-254 (kdensity2d.dem),
346 (sharpen.dem),
420-423 (contourfill.dem),
456-457 (varcolor.dem の最後の 2 つ),
502 (pm3d_clip.dem の最後の 1 つ),
514-516 (cerf.dem), 517-518 (Dawson.dem), 519-520 (Fresnel.dem),
521-525 (complex_airy.dem), 526-530 (BesselK.dem),
531 (expint.dem,
注: 複素数値の expint() がサポートされていればもう 1 ページ増える),
532 (BesselJ.dem), 533-534 (elliptic.dem), 535 (lnGamma.dem),
536-537 (igamma.dem), 538-539 (ibeta.dem), 540-543 (lambert.dem),
544 (synchrotron.dem),
548-549 (heatmaps.dem の 4 つ目と 5 つ目),
582-583 (arrows.dem),
618 (histogram_colors.dem),
755 (polygon_border.dem),
756-759 (named_palettes.dem),
760 (palette+alph.dem),
761-762 (argb_hexdata.dem),
769-776 (watchpoints.dem),
計 99 ページ (新規に追加されたデモファイルは 31 ファイル)
- 変更されたもの:
- 5.4.7 の 310-312 ページ (steps.dem の最後の 3 つ) を
6.0.0 では別ファイル (prob3.dem) に分離して 317-319 へ移動
- 5.4.7 の 492 ページ (heatmaps.dem の最後から 2 つ目) を
6.0.0 では別ファイル (heatmap_4D.dem) に分離して 552 ページへ移動
- 5.4.7 の 499-504 ページ (pm3dgamma.dem) を multiplot にして
6.0.0 の 558 ページへ (5 ページ減)
- 5.4.7 の 698 ページ (polygons.dem の 4 つ目) を、
6.0.0 では色を変えた 2 つの 751,752 ページへ (1 ページ増)
- その他、画像を生成しない新規デモファイルが 2 ファイル追加
(array_index.dem, split.dem)
なお、削除されたものは、単に demo から外されたというだけで、
その機能そのものがなくなったというわけではありません。
変更が大量すぎて、個々の画像に関する詳しい説明はできませんが、
上の一覧を見ただけでも、特に実質的に新規に追加されたデモファイルが
33 ファイルあることからも、
かなり多くの新しい機能が追加されていることがわかると思います。