Gnuplot键:强制不均匀分割

Gnuplot键:强制不均匀分割,gnuplot,Gnuplot,我有四条曲线要画。前三个是彼此的变体,第四个是不同的。因此,我希望将密钥拆分为3+1。然而,使用例如 set key maxrows 3 plot sin(x),sin(2*x),sin(3*x),exp(x) 给出一个两行键 我可以强制gnuplot将密钥拆分为三加一吗?除了@user8153的解决方案外,我还想建议一种更通用的解决方案。 如果你有彩色背景呢?例如:set term wxt background rgb“grey90”或如果 您有一个彩色的键(或图例)框。。。嗯,好吧,gnu

我有四条曲线要画。前三个是彼此的变体,第四个是不同的。因此,我希望将密钥拆分为3+1。然而,使用例如

set key maxrows 3
plot sin(x),sin(2*x),sin(3*x),exp(x)
给出一个两行键


我可以强制gnuplot将密钥拆分为三加一吗?

除了@user8153的解决方案外,我还想建议一种更通用的解决方案。 如果你有彩色背景呢?例如:
set term wxt background rgb“grey90”
或如果 您有一个彩色的键(或图例)框。。。嗯,好吧,gnuplot不提供 钥匙盒的彩色背景。那么,如果你在钥匙后面放一个彩色矩形。 当然,您可以随时根据背景调整颜色,但我想用
lt-2
lt-nodraw
绘制一条不可见线会更简单

关于
lt-2
lt-nodraw
,我几天前刚刚在这里学到:。手册中还没有(还没有)它,尽管它似乎是从gnuplot版本5.0开始出现的

代码:

### invisible keyentry for column/row arrangement
reset session

set key top left maxrows 3
set obj 1 rect from graph 0.02,0.82 to graph 0.52,0.98 fs solid 1.0 fc rgb "grey90"
set xrange[-2:2]
set yrange[-2:2]

plot sin(x), sin(2*x), sin(3*x), exp(x), NaN lt -2 ti " "
### end of code
### invisible keyentry for column/row arrangement with transparent background
reset session

set term pngcairo transparent
set output "tbKeyRows.png"

set key top left maxrows 3
set xrange[-2:2]
set yrange[-2:2]

plot sin(x), sin(2*x), sin(3*x), exp(x), NaN lt -2 ti " "
set output
### end of code
结果:

### invisible keyentry for column/row arrangement
reset session

set key top left maxrows 3
set obj 1 rect from graph 0.02,0.82 to graph 0.52,0.98 fs solid 1.0 fc rgb "grey90"
set xrange[-2:2]
set yrange[-2:2]

plot sin(x), sin(2*x), sin(3*x), exp(x), NaN lt -2 ti " "
### end of code
### invisible keyentry for column/row arrangement with transparent background
reset session

set term pngcairo transparent
set output "tbKeyRows.png"

set key top left maxrows 3
set xrange[-2:2]
set yrange[-2:2]

plot sin(x), sin(2*x), sin(3*x), exp(x), NaN lt -2 ti " "
set output
### end of code

添加:

### invisible keyentry for column/row arrangement
reset session

set key top left maxrows 3
set obj 1 rect from graph 0.02,0.82 to graph 0.52,0.98 fs solid 1.0 fc rgb "grey90"
set xrange[-2:2]
set yrange[-2:2]

plot sin(x), sin(2*x), sin(3*x), exp(x), NaN lt -2 ti " "
### end of code
### invisible keyentry for column/row arrangement with transparent background
reset session

set term pngcairo transparent
set output "tbKeyRows.png"

set key top left maxrows 3
set xrange[-2:2]
set yrange[-2:2]

plot sin(x), sin(2*x), sin(3*x), exp(x), NaN lt -2 ti " "
set output
### end of code
事实上,我忘了有一个解决办法为彩色背景的钥匙盒。无需手动调整和摆弄箱子:

如果您想要一个透明的背景,例如使用pngcairo、pdfcairo等的网页上的图像,除了
lt-2
lt nodraw
,另一个解决方案是绘制一条透明线,例如透明的“黑色”
lc rgb 0xff000000

plot sin(x), sin(2*x), sin(3*x), exp(x), NaN lc rgb 0xff000000 ti " "
代码:

### invisible keyentry for column/row arrangement
reset session

set key top left maxrows 3
set obj 1 rect from graph 0.02,0.82 to graph 0.52,0.98 fs solid 1.0 fc rgb "grey90"
set xrange[-2:2]
set yrange[-2:2]

plot sin(x), sin(2*x), sin(3*x), exp(x), NaN lt -2 ti " "
### end of code
### invisible keyentry for column/row arrangement with transparent background
reset session

set term pngcairo transparent
set output "tbKeyRows.png"

set key top left maxrows 3
set xrange[-2:2]
set yrange[-2:2]

plot sin(x), sin(2*x), sin(3*x), exp(x), NaN lt -2 ti " "
set output
### end of code
结果:(显示在棋盘格图案前面)


丑陋的黑客:
设置键maxrows 3;绘制sin(x)、sin(2*x)、sin(3*x)、exp(x)、nanti“w l lc rgb”white
@user8153哈哈,是的!我试着画NaN,但没有想到白线。