9

私は、2:3(幅×高さ)の比率であるキャンバス上のマルチプロットレイアウトで3つのグラフを一緒に積み重ねようとしましたが、非常にうまくいきませんでした。

set terminal postscript eps enhanced "Helvetica" 24 color
set output "data.eps"
set timefmt "%s"

#set size 1.0,1.5
#set bmargin 2
#set tmargin 2

set size 1.0,1.5
set multiplot layout 3,1
set size 1.0,0.5

set tmargin 2
set bmargin 0
set ylabel 'Distance'
set format x ""
set ytics nomirror font "Helvetica,10"
set key top
plot "trace1.dat" using 1:3 axes x1y1 title "distances" with lines lw 2 lc rgb 'blue'

set size 1.0,0.5
set bmargin 0
set tmargin 0
set ylabel 'Power (W)'
set format x ""
set ytics nomirror font "Helvetica,10"
set key top
plot "trace2.dat" using 1:2 axes x1y1 title "device" with lines lw 2 lc rgb 'red'

set size 1.0,0.5
set bmargin
set tmargin 0 
set xdata time
set ylabel 'Power (W)'
set xlabel 'Time (EST)' offset 0,-2.8 font "Helvetica,32
set format x "%b %d, %H:%M"
set ytics nomirror font "Helvetica,10"
set xtics nomirror rotate by 90 offset 0,-2.0 out font "Helvetica,10"
set key top
plot "trace3.dat" using 1:2 axes x1y1 title "aggr" with lines lw 2 lc rgb 'blue'

unset multiplot

上記のようなことをすると、以下のプロットが表示されます。キャンバスの上部に空白が多く、3 つのマルチプロット グラフが重なっているように見えます。

プロット

どんな種類の助けやポインタも大歓迎です。

4

2 に答える 2

16

より大きなキャンバスを使用するにはsize、端末を設定するときにオプションを使用する必要があります。

set terminal postscript eps enhanced size 10cm,15cm

set sizeキャンバスに対するプロット サイズを変更するだけです。これを見るには、

set terminal wxt
set size 1.0,1.5
plot sin(x)

キャンバスに対して高すぎるため、プロットの一部が消えます。

同じ高さの 3 つのプロットを積み重ねるには、私の意見では、固定マージンを使用するのが最善です。

set terminal pngcairo size 600, 900
set output 'stacking.png'

set lmargin at screen 0.15
set rmargin at screen 0.95

TOP=0.98
DY = 0.29

set multiplot
set offset 0,0,graph 0.05, graph 0.05

set xlabel 'time'
set ylabel 'ylabel 1' offset 1
set tmargin at screen TOP-2*DY
set bmargin at screen TOP-3*DY
set ytics -1000,500,1000
plot 1150*cos(x) title 'First'

set xtics format ''
unset xlabel
set ylabel 'ylabel 2' offset 0
set tmargin at screen TOP-DY
set bmargin at screen TOP-2*DY
set ytics -100,50,100
plot 101*sin(x) title 'Second'

set ylabel 'ylabel 3' offset -1
set tmargin at screen TOP
set bmargin at screen TOP-DY
set ytics -8,4,8
plot 10*sin(2*x) title 'Third'

unset multiplot; set output

結果は次のとおりです (4.6.3 の場合):

ここに画像の説明を入力

のラベルが重ならないようにするには、目盛りyticsが描画される範囲を変更する必要があります。使えないset ytics -100,50,100-10010050set ytics rangelimited

プロット カーブと境界線の間の距離を大きくするには、上記のスクリプトのように座標を使用set offsetします。graph

x ラベルとxlabel.

于 2013-10-02T08:37:02.507 に答える
5

も使用する必要がありset originます。

set terminal postscript eps enhanced
set output "data.eps"

set size 1.0,1.5
set multiplot layout 3,1

set size 1.0,0.5
set origin 0,1
...
plot ...

set size 1.0,0.5
set origin 0,0.5
...
plot ...

set size 1.0,0.5
set origin 0,0
...
plot ...

unset multiplot
于 2013-10-02T07:38:27.660 に答える