我需要从.csv文件和空格分隔文件中绘制数据。两组数据都需要出现在同一个图中。
data1.dat
#t y
1 1
2 1
3 1
和
data2.csv
#t,y
1,2
2,2
3,2
如果两者都是.csv集,我通常会执行以下操作:
set datafile separator ','
plot 'data1.csv' using 1:2,'data2.csv' using 1:2
是否有某种方法可以在情节陈述中包含分隔字符的设置?
plot 'data1.dat' using 1:2,'data2.csv' using datafile separator ',' using 1:2
以上不起作用,我尝试了上述代码的许多不同变体......我没有运气。
答案 0 :(得分:3)
AFAIK,没有办法指定分隔符。但是,如果您处于POSIX兼容环境(并且您的gnuplot支持管道 - 大多数情况下都是这样),您可以非常轻松地将工作分配到awk
:
plot 'data1.dat' using 1:2,\
"<awk -F, '{print $1,$2}' data2.csv" using 1:2
答案 1 :(得分:2)
在set datafile separator
的情况下,您可以为", "
提供多个字符。然后将所有这些单独视为分隔符。
如果您的数据文件格式非常困难:
gnuplots using
说明符接受libC scanf()
格式字符串
plot "-" us 1:2 "%lf,%lf"
1,2
2,3
3,4
e
您可以为plot
命令中的每个文件指定不同的格式字符串。请注意,gnuplot只接受&#34; double&#34;输入的fp数字,因此您必须使用%le
或%lf
说明符。
选中help using examples
,here是格式的完整说明。
答案 2 :(得分:-2)
数据大小非常小,因此您只需使用以下命令删除一个文件中的所有,
:
grep -i 's/\,/\ /' ./filename