我知道这应该很简单,但我找不到类似的例子。
我需要以不同方式绘制不同范围的数据文件,但是在同一图表上。
例如,假设我的数据文件表示具有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
基本上我想区分功能的不同区域。
有什么想法吗?我很抱歉,如果这听起来像是在漫无边际,但我很难过。
提前致谢!
答案 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或几乎任何(脚本)语言完成。
我希望我能提供帮助。