• 検索結果がありません。

Histograms

ドキュメント内 gnuplot documentation (ページ 51-54)

スタイルhistogramsは 2次元描画でのみ有効です。これは、データの各列の並びから平行な棒グラフを作

ります。plotコマンドの各要素は、それに関する目盛りの値や説明のタイトルが付属するかも知れませんが、

単一の入力データを指定する必要があります(例えば入力ファイルの1つの列)。現在は、4 種類のヒストグラ ム形式のスタイルがサポートされています。

set style histogram clustered {gap <gapsize>}

set style histogram errorbars {gap <gapsize>} {<linewidth>}

set style histogram rowstacked set style histogram columnstacked

デフォルトのスタイルはset style histogram clustered gap 2に対応しています。このスタイルでは、並 列に指定されたデータの値の集合は、選択されたデータ列のそのそれぞれの序列(行番号)に対応するx座標 の場所に、各々箱のグループとして固められて置かれます。よって、<n>個のデータ列を並列に指定した場 合、最初の固まりはx=1を中心とする<n>個の箱の固まりからなり、その各々の高さは、その<n>データ 列各々の最初(1行目)の値が取られます。その後に少し空白(gap)が空けられ、次に各データ列の次(2行目) の値に対応する箱の固まりがx=2 を中心として置かれます。以下同様です。デフォルトの空白(gap)幅の 2 は、箱の固まり同士の間の空白が、箱2つの幅に等しいことを意味します。同じ列に対する箱は全て同じ色ま たは同じパターンで与えられます(以下参照: set style fill (p. 150))。

箱の固まりそれぞれは、データファイルの1つの行から得られます。そのような入力ファイルの各行の最初の 項目が見出し(ラベル)でることは良くあることです。その列にある見出し(ラベル)は、usingにxticlabels オプションをつけることで、それに対応する箱の固まりの真下のx軸に沿ったところに置くことができます。

errorbarsスタイル は、各エントリに対して追加の入力列を必要とする以外はclusteredスタイルにとても 良く似ています。最初の列は、clusteredスタイルの場合と全く同様に箱の高さ(yの値)として保持されます。

2 列: y yerr # 線は y-yerr から y+err へ伸びる

3 列: y ymin ymax # 線は ymin から ymax へ伸びる

誤差線の見た目は、現在のset barsの値と<linewidth>オプション指定で制御できます。

積み上げ型のヒストグラムも 2 つの形式がサポートされています。それらはコマンドset style histogram {rowstacked|columnstacked}で選択できます。これらのスタイルにおいて、選択された列のデータの値は 積み上げられた箱として集められます。正の値は、y=0から上の方へ積み上げられ、負の値は下へ向かって積 み上げられます。正の値と負の値が混じってい場合は、上向きと下向きの両方の積み上げが生成されます。デ フォルトの積み上げモードはrowstackedです。

スタイルrowstackedは、まず最初に選択された列の各行の値をx軸のそれぞれの位置に配置します: 1行目

の値は x=1の箱、2 行目のはx=2、以下同様となります。2 番目以降に選択された列に対応する箱は、それ

らの上に積み重ねられて行きます。そして結果として、x=1にできる箱の積み重ねは、各列の最初の値(1 行 目の値)からなり、x=2の箱の積み重ねは各列の2行目の値、などのようになります。同じ列に対する箱は全 て同じ色または同じパターンで与えられます(以下参照: set style fill (p. 150))。

スタイルcolumnstackedも同様ですが、こちらは各箱の積み上げは(各行のデータからではなく)各列のデー

タからなります。最初に指定された列の各行のデータがx=1の箱の積み上げを生成し、2番目に指定した列の 各行のデータがx=2の箱の積み上げ、などのようになります。このスタイルでは、各箱の色は、各データ項目

の(列番号ではなく)行番号から決定されます。

箱の幅はコマンドset boxwidthで変更できます。箱の塗りつぶしスタイルはコマンドset style fillで設定 できます。

histogramsはx軸は常にx1軸を使いますが、y軸に関してはy1軸かy2 軸かを選択できます。plot命令が、

histogramsと他のスタイルの描画の両方を含む場合、histogramでない方は、x1軸を使うかx2軸を使うかを

選択できます。

例:

0 1 2 3 4 5 6 7 8 9

ClassA ClassB

入力ファイルは、2, 4, 6, ... の列にデータ値を持ち、3,

5, 7, ... の列に誤差評価を持つとします。以下の例は、2

列目、4 列目の値を箱の固まり型(clustered;デフォルト スタイル)のヒストグラムとして描画します。ここでは、

plotコマンドで繰り返し(iteration)を使用していますの で、任意の個数のデータ列を一つのコマンドで処理でき ます。以下参照: iteration (p. 72)。

set boxwidth 0.9 relative set style data histograms set style histogram cluster

set style fill solid 1.0 border lt -1 plot for [COL=2:4:2] ’file.dat’ using COL

これは、x軸上の各整数値を中心とするそれぞれ2つの箱(鉛直な棒)毎の固まりによる描画を生成します。入 力ファイルの最初の列にラベルが含まれているならそれを、以下の少し変更したコマンドでx軸に沿って配置 できます。

plot for [COL=2:4:2] ’file.dat’ using COL:xticlabels(1)

0 1 2 3 4 5 6 7 8 9

10 Histogram with error bars

A B

ファイルが、各データの測定値と範囲の情報の両方を含ん でいる場合、描画に誤差線を追加することができます。以 下のコマンドは誤差線を(y-<error>)から(y+<error>) に引き、その頭に箱と同じ幅の水平線をつけます。誤差 線と誤差線の端の線は、黒で線幅2で描画されます。

set bars fullwidth

set style fill solid 1 border lt -1 set style histogram errorbars gap 2 lw 2

plot for [COL=2:4:2] ’file.dat’ using COL:COL+1

同じデータを行毎の積み上げ型(rowstacked)のヒストグラムで描画する場合、これまでとは違い、以下の例で は繰り返しを使うのでなく、明示的に別々の列を指定します。

set style histogram rowstacked

plot ’file.dat’ using 2, ’’ using 4:xtic(1)

0 2 4 6 8

10 Rowstacked

ClassA ClassB

これは、一つ一つの鉛直な棒が、データの一つの列に対 応する描画を生成します。各棒は、2つの部分の積み上げ の形であり、それぞれの部分の高さが、データファイル の2 列目と4列目の値に対応します。

最後に以下のコマンド

set style histogram columnstacked plot ’file.dat’ using 2, ’’ using 4

0 2 4 6 8 10 12 14 16 18

ClassA ClassB

Columnstacked

は、一つ一つがそれぞれデータ列に対応する、2つの鉛直 な積み重ねの棒を生成します。x=1にある棒は、データ ファイルの2列目の各行の値に対応する箱からなります。

x=2にある棒は、データファイルの4 列目の各行の値に 対応する箱からなります。これは、gnuplotの通常の入力 の縦、横の解釈を入れ換えることになりますので、keyタ イトルやx軸の目盛りの見出しの指定も変更する必要が あります。以下のコメント部分を参照してください。

set style histogram columnstacked

plot ’’ u 5:key(1) # 1 列目を key タイトルに使用

plot ’’ u 5 title columnhead #

この2つの例は、全く同じデータ値を与えているのですが、異なる書式であることに注意してください。

ドキュメント内 gnuplot documentation (ページ 51-54)