GNUPLOT:如何使用不同的线样式绘制存储在一个文件中的多条曲线

GNUPLOT:如何使用不同的线样式绘制存储在一个文件中的多条曲线,gnuplot,Gnuplot,我将多条曲线的x,y数据存储在一个文件中,用一个空行分隔。 我想用不同的线样式(实线、虚线…)绘制不同的曲线。 如何操作?您可以使用each关键字来选择数据块(用一个空行分隔,因此两个新行字符在后面),并且可以使用linestyle关键字来明确定义线型 p "data.txt" every:::0::0 w l ls 1, "" every:::1::0 w l ls 2 如果没有那么多数据,可以手工编写整个命令。如果您有更多的数据块,您可能更喜欢使用for循环: p for [i=0 :

我将多条曲线的x,y数据存储在一个文件中,用一个空行分隔。 我想用不同的线样式(实线、虚线…)绘制不同的曲线。
如何操作?

您可以使用
each
关键字来选择数据块(用一个空行分隔,因此两个新行字符在后面),并且可以使用
linestyle
关键字来明确定义线型

 p "data.txt" every:::0::0 w l ls 1, "" every:::1::0 w l ls 2
如果没有那么多数据,可以手工编写整个命令。如果您有更多的数据块,您可能更喜欢使用
for
循环:

 p for [i=0 : maximum_number_of_curves : every_nth_curve] "data.txt" every:::i::i w l ls i
请注意,某些端子类型不支持虚线或虚线样式。如果要使用每个数据,请使用1作为每个第n条曲线的值。 如果您有两个空行(三个新行字符),则必须使用
索引
关键字来选择数据块,例如:

 p for [i=0 : maximum_number_of_curves : every_nth_curve] "data.txt" index i w l ls i

为了确定曲线的数量,使用以下(要求4.6):
stats'
sed
命令将一个空行替换为两个空行,因此每条曲线都被视为自己的数据集,然后用
STATS\u块进行计数。使用
sed
是一个好主意,但请注意,它不是在每台PC上都可用,但在GNU许可下可以免费使用。对,但在另一个问题上,OP表示他正在研究MacOSX。同样,我们可以使用
python
perl
来实现相同的功能:
perl-pe的/^$/\n/'data.txt