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
结果:
我想要这样的东西:
矩形外图:
我可以用 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
结果: