GNUPlot:绘制不同风格的不同范围

时间:2011-01-11 20:43:30

标签: 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

基本上我想区分功能的不同区域。

有什么想法吗?我很抱歉,如果这听起来像是在漫无边际,但我很难过。

提前致谢!

2 个答案:

答案 0 :(得分:10)

您可以执行以下操作:

 plot "mydat.txt" using 1:($1>0 ? $2 : 1/0) with lines,
 "" using 1:($1<=0 ? $2 : 1/0) with points  

编辑:我测试它,当x变量&lt; 0你会有积分。当然,只要函数的x值在数据文件中,您就可以以这种方式创建条件,以便可以容纳许多不同的图形格式。

答案 1 :(得分:1)

我不认为您可以将数据文件拆分到gnuplot中的不同范围,但如果您可以在gnuplot之外执行此操作,则问题可以轻松解决。在将'my.data'的第一部分粘贴到'my.data1'而第二部分粘贴到'my.data2'之后,您可以调用:

  

使用1:2标题“my.data1”使用第1行标题“数据1”,使用1:2标题“数据2”标记“my.data2”

您可以手动拆分文件,或者我也可以在R中建议。当然,它可以用bash或几乎任何(脚本)语言完成。

我希望我能提供帮助。