1

gnuplotのチュートリアルや例を見てみましたが、手元にある問題をカバーしているものはないようです。

描きたいチャートのモックアップを作成しました。

望ましいプロット

データは次のように表示されます。

Item A  10  80
Item B  24  75
Item C  25  52
Item D  24  45
Item E  30  43
....

行数は多くなりますが、2つのシリーズのみです。

私はgnuplotに関しては完全な初心者ですが、Excelは垂直折れ線グラフを描画できないため、Gnuplotを作成できるのではないかと思いましたが、それがどのように可能か、あるいは可能かどうかはまったくわかりませんでした。

私がとるべき方向についての指針はありがたいです。

4

2 に答える 2

2

この回答は、データファイルの列がタブで区切られていることを前提としています。

これを実現するには、いくつかの手順があります。

  1. x座標とy座標を入れ替える必要があります。たとえば、using 2:0の代わりに使用しusing 0:2ます。
  2. y軸を逆にする必要があります:set yrange [] reverse
  3. y-ticsのラベルとして最初の列を使用しますusing 2:0:yticlabels(1)
  4. プロットの上にキーを配置しますset key above

すべて一緒に:

set key above
set yrange [] reverse
set datafile separator '\t'
plot 'data.txt' using 2:0:yticlabels(1) with lines title 'Series A', \
     'data.txt' using 3:0               with lines title 'Series B'

結果:

上記のGnuplotスクリプトの結果

于 2013-03-10T21:53:06.233 に答える
0

グラフをフォーマットして、最終結果を共有することにしたので、他の誰かが同様の問題に遭遇した場合に備えて。私はこれをあまりにも難しい方法でやったかもしれませんが、それは仕事を成し遂げました。

set key above center
set yrange [] reverse
set datafile separator '\t'
set style line 1 lt 'dashed' lw 4 lc 'black'
set style line 2 lt 1 lw 3 lc 'black'
set style increment userstyle
set xrange [0:100]
set xtics add 25
plot 'data' using 2:0:ytic(1) with lines title 'Now', \
      'data' using 3:0 with lines title '10 years ago'

サンプルチャート

トールありがとう!

于 2013-03-12T20:09:50.027 に答える