使用gnuplot从多个文件打印曲线
我想用gnuplot在同一个图中绘制包含在不同目录中的一系列数据 我有一个名为使用gnuplot从多个文件打印曲线,gnuplot,Gnuplot,我想用gnuplot在同一个图中绘制包含在不同目录中的一系列数据 我有一个名为Ntimestep=X的文件夹集合(其中X可以是例如100、200、400等等)。在每个文件夹中,我都有一个文件occ.dat,其中包含我想要绘制的数据,比如说3列(第一个x点,第二个和第三个y点)。 我希望我的gnuplot脚本自动检测所有文件夹的名称Ntimestep=X,并将文件Ntimestep=X/occ.dat中包含的数据添加到我的绘图中 我还希望数字X出现在绘图的图例中 目录结构示例: - Ntimest
Ntimestep=X
的文件夹集合(其中X可以是例如100、200、400等等)。在每个文件夹中,我都有一个文件occ.dat
,其中包含我想要绘制的数据,比如说3列(第一个x点,第二个和第三个y点)。
我希望我的gnuplot脚本自动检测所有文件夹的名称Ntimestep=X
,并将文件Ntimestep=X/occ.dat
中包含的数据添加到我的绘图中
我还希望数字X出现在绘图的图例中
目录结构示例:
- Ntimestep=100
~ occ.dat
~ <other files>
- Ntimestep=200
~ occ.dat
~ <other files>
-Ntimestep=100
~occ.dat
~
-Ntimestep=200
~occ.dat
~
Gnuplot本身无法创建这样的文件列表,但是您可以调用一些命令行工具或第二个脚本来创建这样的列表,然后Gnuplot就可以使用它了
大概是
list = system('ls Ntimestep=*/occ.dat')
plot for [file in list] file
在Windows上,类似于list=system('dir/b*.txt')
的东西应该可以工作,请参阅(我无法测试它)
要获取标题中的数字,只能使用gnuplot
t(s) = (s2 = s[11:*], s2[0:strlen(s2)-8])
plot for [file in list] file title t(file)
为了更灵活地使用字符串格式,您还需要使用外部工具(例如,通过管道将
ls
的输出传输到sed
)。您的问题很不清楚。请给出几个示例文件夹名和文件名,以及数据和打印命令的示例。