GNUPlot:用不同的样式绘制不同的范围

GNUPlot:用不同的样式绘制不同的范围,gnuplot,Gnuplot,我知道这应该很简单,但我还没有找到类似的例子 我需要以不同的方式绘制数据文件的不同范围,但在同一个图形上 例如,假设我的数据文件表示具有x和y值的函数。我想使用类似直线的样式绘制前N个值,然后使用不同的样式(如点)绘制下M个值 我想我需要一个类似于以下内容的绘图命令: plot [1:5] "my.data" using 1:2 with lines, [6:12] using 1:2 with points, [13:19] using 1:2 with lines 本质上我想区分函数的不同

我知道这应该很简单,但我还没有找到类似的例子

我需要以不同的方式绘制数据文件的不同范围,但在同一个图形上

例如,假设我的数据文件表示具有x和y值的函数。我想使用类似直线的样式绘制前N个值,然后使用不同的样式(如点)绘制下M个值

我想我需要一个类似于以下内容的绘图命令:

plot [1:5] "my.data" using 1:2 with lines, [6:12] using 1:2 with points, [13:19] using 1:2 with lines
本质上我想区分函数的不同区域

有什么想法吗?如果这听起来像是我在胡扯,我很抱歉,但我很困惑


提前谢谢

我不认为您可以在gnuplot中将数据文件拆分为不同的范围,但是如果您可以在gnuplot之外进行,那么问题就可以很容易地解决。仅将'my.data'的第一部分粘贴到'my.data1'和第二部分粘贴到'my.data2'等之后,您可以调用:

使用1:2标题“数据1”和线条绘制“my.data1”,使用1:2标题“数据2”和点绘制“my.data2”

你可以手工分割文件,或者如果我建议你也可以。当然,它可以用bash或几乎任何(脚本)语言完成


希望我能帮上忙。

您可以做以下工作:

 plot "mydat.txt" using 1:($1>0 ? $2 : 1/0) with lines,
 "" using 1:($1<=0 ? $2 : 1/0) with points  
使用带行的1:($1>0?$2:1/0)绘制“mydat.txt”,
“”使用1:($1