Gnuplot - 矩形作为图形区域之外的对象?

Gnuplot - rectangles as objects outside graph area?

我想要这样的东西:

矩形外图:

我可以用 set object <number> rect 得到吗?或者这只是在图形中绘制矩形?

您可以像这样使用 screen 坐标(指的是整个 window):

set object 1 rect from screen 0.0, screen 0.9 to screen 0.1, screen 1.0

这将在绘图的左上角 10% 处创建一个矩形 window

正如@ewcz 的回答中所建议的那样,您可以使用屏幕坐标在图形区域之外(部分地)绘制对象。 但是,如果您检查 help object 并且至少从 gnuplot 4.6.5 开始,您会发现选项 noclip。 (默认为 clip)。

有了它,您可以使用例如在图形外绘制对象。图形、第一、第二等坐标(检查 help coordinates),特别是如果你想将矩形的大小调整为图形或 x/y-coordinates.

脚本:

### draw rectangle outside graph area
reset session

set xrange [0:20]
set yrange [0:10]

set xlabel "x-axis"
set ylabel "y-axis"
set origin 0.1, 0.1
set size   0.8, 0.8

set obj 1 rect noclip from graph -0.1, 0.9 to graph 0.1, 1.1 
set obj 1 fs empty border rgb "red" lw 2 dt 4

set obj 2 rect noclip from first -2,-2 to first 7,3
set obj 2 fs empty border rgb "green" lw 2 dt 1

set obj 3 rect noclip from screen 0.6,0.6 to screen 1,1
set obj 3 fs empty border rgb "blue" lw 2 dt 3

plot x
### end of script

结果: