0

gnuplot でヒストグラムに 2 つのポイントラインを描画したいのですが、結果のチャートは私が望んでいたものとは異なります。実際には、2 種類の柱の中心に 2 つの点線 (ピンク色と薄緑色のもの) の点を揃えたいので、薄緑色のものは静止し、ピンク色のものは黒いものと同じように少し右に移動します。描いた。

「test.dat」は次のとおりです。

1 10 15 8 22
2 11 19 7 21
3 9 14 7 19
4 10 21 8 23
5 9 17 9 21

および「plt」ファイル:

set style data histogram
unset key 
set yrange[0:12]
set y2range[0:25]

plot "test.dat" using 2:xticlabel(1) axis x1y1,\
"test.dat" using 3:xticlabel(1) axis x1y2 with linespoints,\
"test.dat" using 4:xticlabel(1) axis x1y1,\
"test.dat" using 5:xticlabel(1) axis x1y2 with linespoints

ここに画像の説明を入力

4

1 に答える 1

2

私の答えは、ヒストグラムの代わりにボックスを使用するこの貢献に基づいています。利点は、これらのボックスがどこに配置されているかを正確に把握できることであり、これをライン プロットに利用できます。

コードは次のとおりです。

dx=1.
n=2.
total_box_width_relative=0.25
gap_width_relative=0.1
d_width=(gap_width_relative+total_box_width_relative)*dx/n  
set boxwidth total_box_width_relative/n relative  
set style fill transparent solid 0.5 noborder

plot "test.dat" u ($1):2 w boxes lc rgb"green" notitle,\    
     "test.dat" u ($1+d_width):4 w boxes lc rgb"red" notitle,\
     "test.dat" u ($1):3 w linespoints notitle,\              
     "test.dat" u ($1+d_width):5 w linespoints notitle        

set yrange [0:15]
replot

コードの説明:

  • dx、データ ファイルに従って選択する必要があります。そうしないと、ボックスの間隔がずれてしまいます。
  • ボックスのデータセットの数は、n
  • total_box_width_relativegap_width_relativeは、ボックスの軸方向の幅と間隔を制御し ます
  • 2 つのset ...コマンドは、ボックスの外観を制御します
  • プロット コマンド内で分離する必要があります: 元の 1 番目の列データを使用して 1 セットのボックスとラインを呼び出します:($1)ただし、2 番目のボックス セットと対応するラインについては、定義した軸オフセットを選択します: ($1+d_width)- これにより、ライン プロットのデータ ポイントがボックスと一致すること
  • set yrangeコマンドを含める必要がある場合があります

プロットは次のようになります。

ここに画像の説明を入力


提供されたデータに関して、折れ線グラフのデータを変更したことに注意してください。これは、ポイントをボックスに近づけて効果を説明するためだけに行われました。

于 2013-07-03T17:38:30.913 に答える