3

現在、Gnulot のスタックされた fillcurves に取り組んでいます。グラフを積み重ねるのに問題があります。これは私のデータです:

     prog   reli    perf    avail   sec cons    topo    scale   qos
2011 138    90.3    21.0    63.5    45.5    48.5    6.8 4.0 5.5
2012 191.3  77.8    90.8    30.8    29.0    22.1    2.0 1.0 1.0
2013 85.0   57.5    48.0    20.0    27.5    8.5 0   2.5 1.0
2014 2.0    0.5 1.0 2.0 1.0 1.5 0   0   0

私はt1.pltにプロットしました

set term pos eps font 20
set output 't1.eps'
set pointsize 0.8
set border 11
set xtics out
set tics front
set key below
set multiplot
a=0
plot for [i=1:9] "t1" using (column(i)):xtic(1) t column(i) with filledcurves

私の現在の出力:

出力

このリンクのようなグラフを作成するという私の期待: 期待出力

4

2 に答える 2

5

gnuplot のみでこれを行う方法を次に示します。sum積み上げグラフを取得するために、列の値を合計するコマンドを使用できます。

set terminal postscript eps color font 20
set output 't1.eps'
set xtics 1 out
set tics front
set key invert
set style fill solid noborder
plot for [i=10:2:-1] "t1" using 1:(sum [col=2:i] column(col)) with filledcurves x1 title columnheader(i-1)

列ヘッダーのインデックスは 1..9 であるのに対し、値は 2..10 から始まることに注意してください。したがって、明示的に使用する必要がありますtitle columnheader(i-1)。最初の列にもヘッダーを指定する場合は、たとえばyearを使用できますset key autotitle columnheader

残念ながら、のinvertオプションはset key列でのみ機能します。したがって、 を使用set key below invertすると、データ ファイルの元の順序が得られません。

4.6.4 の結果:

ここに画像の説明を入力

于 2014-05-26T18:59:27.270 に答える