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

dummyset title命令使 gnuplot 调整两行标题的上边距。我发现该位置 (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

另一种方法是使用固定宽度的字体并使所有行的长度相同。

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 回答