5

(gnu)plot に複数行のタイトルを付けたいです。タイトルを中央に配置したい(つまり、最も幅の広いタイトル行の中央から端までの距離が等しくなるようにする)が、デフォルトの動作である各行を個別に中央に配置しないでください。タイトル行を左揃えにし、ブロックとしてのみ中央に配置したい。

どうすればこれを達成できますか?

4

2 に答える 2

7

これは少しトリッキーです。gnuplotのドキュメントで述べたように:

The `set title` command produces a plot title that is centered at the top of
the plot.  `set title` is a special case of `set label`.

labelコマンドは正当化パラメータを受け入れますが、たとえば

set label "mylabel" right

titleしません: 中央に配置するのは難しいです。label私が持っている回避策は、タイトルがある位置でa を使用することです。\n複数の行を作成するには、二重引用符で囲まれた改行 ( ) を使用します。

set title "\n"
set label 1 "first line\nsecond line" at graph 0.5,1.125 left

ダミーset titleコマンドは、gnuplot が 2 行のタイトルの上部マージンを調整するためのものです。その位置 (0.5,1.125) がデフォルトのタイトル位置をよく再現していることがわかりました。ただし、これはラベルをプロットの中央に配置しません。中心線の左または右に揃えられます。回避策は、ラベルの x 位置を手動で調整することです。

set title "\n"
shift = 0.05 # manually adjust
set label 1 "first line\nsecond line" at graph (0.5-shift),1.125 left
于 2013-03-21T14:52:27.970 に答える
2

もう 1 つの方法は、固定幅のフォントを使用し、すべての行を同じ長さにすることです。

set term pngcairo size 800,600 font "Courier,10" enhanced crop

set title "\
Synchronic                        \n\
(. orange) signal columns         \n\
(+  green) planar signal          \n\
(.    red) paraboloid             \n\
(x  black) intersection           \n\
(|  black) detection              "
于 2015-08-20T15:26:42.873 に答える