何がやりたいかというとこういうグラフが書きたい

左下がメインの図で、2つのデータの散布図
左上が散布図のx方向のデータのヒストグラム、右下が散布図のy軸方向のデータのヒストグラム
おまけで平均値まで付けてみた(awkさん、ありがとう)
普通にgnuplotのmultiplotで2x2の分割を使っていると左上→右上→左下→右下という順番でグラフが埋まっていく
けど今回は右上を空けておきたい
そういう白紙にしてスキップするようなコマンドがあるのかマニュアル読んだけど、
英語でわからんちんだったのでゴリ押すことにした
あとgnuplotのdemoも見たけど、multiplotのページは全部埋まってる図しかなかった
右下の図を少し回転させたのが次の図で、下のスクリプトはこの図を書くものに修正しました
赤字が少し工夫した点

画面に白紙を表示させる方法
まず枠(border)やgrid、tics(グラフに付いてる目盛り)はすべて手で消さないといけない
それらを表示させない設定をした後で、白紙の画面を描画→設定を元に戻す必要がある
そのときにresetとしたくなるが3番目、4番目の図の大きさが他の2枚と一致しなくなるのでやめた方がいい
具体的には
set xlabel ""
set ylabel ""
unset ytics
unset xtics
set nomy2tics
set nomx2tics
unset border
unset grid
plot [:][-1:1]1/0
最後の plot [:][-1:1]1/0はy軸の範囲指定をきちんとしないとエラーになるっぽい
他に出てきたのはplot sqrt(-1)とか
というかプロットする範囲を指定した上で、そこに入らないように何かをプロットするならなんでもいいと思われる
データの作り方data2=hoge.txt
data3=foo.txt
gsl-randist $seed $nsample rayleigh 1 > $data2
gsl-randist $seed $nsample chisq 5 > $data3
hist2=hist_2.txt
ave_2=`awk '{sum+=$1}END{print sum/NR}' ${data2} | cut -c1-4`
max_2=`awk 'NR==1 {max=$1} {if($1 > max) max = $1} END {print max}' ${data2}`
cat ${data2} | gsl-histogram $xmin ${max_2} $nbin > ${hist2}
echo "$ave_2"
hist3=hist_3.txt
ave_3=`awk '{sum+=$1}END{print sum/NR}' ${data3} | cut -c1-4`
max_3=`awk 'NR==1 {max=$1} {if($1 > max) max = $1} END {print max}' ${data3}`
cat ${data3} | gsl-histogram $xmin ${max_3} $nbin > ${hist3}
echo "$ave_3"
data0=paste.txt
paste $data2 $data3 > $data0
なぜdata1がないのか気になってしまうが何かしらの試行錯誤の名残なんだと思う・・・・(シャッと書いたので気にしない)
gsl-randistというコマンドはGSLをインストールしたら一緒に入ってくると思う
そのコマンドがない人はなんでもいいので1次元のデータを手で書いてください
data0というのをわざわざ作っているのは散布図を作っているから散布図を書きたいから