如何在gnuplot中高效绘制数据文件内1:2、3:4等成对列
在Gnuplot中批量成对列绘图的高效方法
不用手动重复写每一组列的绘图命令,用Gnuplot的内置命令和循环就能高效解决:
自动获取数据文件总列数
用stats命令读取数据文件的列数,结果会存在STATS_columns变量里,加nooutput避免输出冗余统计信息:stats 'datafile' nooutput N = STATS_columns用循环批量绘制所有成对列
设置循环步长为2,每次取第i和i+1列绘图,通过sprintf自动生成每条曲线的标题,方便区分不同列对:plot for [i=1:N:2] 'datafile' using i:i+1 with lines title sprintf("Columns %d:%d", i, i+1)
如果已经明确知道数据文件的总列数(比如确定是8列),可以跳过第一步,直接把N替换成具体数值:
plot for [i=1:8:2] 'datafile' using i:i+1 with lines title sprintf("Columns %d:%d", i, i+1)
这样不管N多大,都能一次性完成所有成对列的绘图,不用手动重复编写冗余命令。
内容的提问来源于stack exchange,提问作者aminitindas
相关产品推荐
相关产品推荐

