Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 在gnuplot中可以在multiplot内部使用do循环吗?_Loops_Colors_Gnuplot - Fatal编程技术网

Loops 在gnuplot中可以在multiplot内部使用do循环吗?

Loops 在gnuplot中可以在multiplot内部使用do循环吗?,loops,colors,gnuplot,Loops,Colors,Gnuplot,我需要创建一个具有多个子图的图形,而在每个子图中,我需要绘制多条线。每一行必须有不同的颜色。(如果每30-40行迭代一次颜色,我认为可以) 例如:(我想要8个子地块) 对于第一个子批次,我可以执行以下操作 plot for [i=2:101] 'mydata.txt' u 1:i w line notitle lw 2 这将在第一个子地块内绘制100条线 plot for [i=1022:201] 'mydata.txt' u 1:i w line notitle lw 2 在第二个面板中添

我需要创建一个具有多个子图的图形,而在每个子图中,我需要绘制多条线。每一行必须有不同的颜色。(如果每30-40行迭代一次颜色,我认为可以)

例如:(我想要8个子地块)

对于第一个子批次,我可以执行以下操作

plot for [i=2:101] 'mydata.txt' u 1:i w line notitle lw 2
这将在第一个子地块内绘制100条线

plot for [i=1022:201] 'mydata.txt' u 1:i w line notitle lw 2
在第二个面板中添加另一组线等

此解决方案的问题在于,子地块中的每一条单独的线不仅具有不同的颜色,而且具有不同的线样式,有些是实体线,有些是虚线,每个都具有不同的虚线图案等。 是否有办法使用独特的线条样式,例如所有连续线条和不同颜色?

在过去,我发现了以下解决方法,它适用于单个情节

rgb(r,g,b) = 65536 * int(r) + 256 * int(g) + int(b)
set multiplot

do for [i=2:201] { 
   rr = 255*rand(0)
   gg = 255*rand(0)
   bb = 255*rand(0)
   plot 'moredata.inp' u 1:i:(rgb(rr,gg,bb)) w line notitle lt 1 lc rgb variable lw 2
}
但是,我不能用do循环替换“I=2:101的绘图”,因为结果是每个子绘图一行

有什么想法吗


谢谢

要仅使用实线,请使用

set termoption solid
为了迭代线条颜色,可以使用
lc变量
(不使用
rgb
!)。在这种情况下,最后一列用作
线型
索引。如果需要线型的其他颜色,可以使用
设置线型…
。如果使用
设置样式增量用户
,索引将引用
线型

或者,您可以使用
lc调色板
并定义适当的调色板,请参见例如。我认为这可能是最好的选择,因为你需要很多颜色:

set palette model HSV defined ( 0 0 1 1, 1 1 1 1 ) # rainbow palette
plot for [i=2:101] 'mydata.txt' u 1:i lc palette frac (i/101.0) w line notitle

比你更重要的是,设置选项实体是关键问题!。为了使上面的行正常工作,我将其更改为…lc palette frac(I/101.0).@giorgk对,我更正了答案,谢谢。我对这个和所有
变量
选项感到困惑。谢谢!!“设置术语选项实体”是关键。为了使上述线路正常工作,我不得不将其更改为…lc调色板分形(I/101.0)。。。但是在最后,我发现默认颜色比任何调色板都好,所以我没有使用lc选项。
set palette model HSV defined ( 0 0 1 1, 1 1 1 1 ) # rainbow palette
plot for [i=2:101] 'mydata.txt' u 1:i lc palette frac (i/101.0) w line notitle