我有一个data.csv文件,其结构如下:
n John Smith stats Sam Williams stats
1 23.4 44.1
2 32.1 33.5
3 42.0 42.1
目前我正在使用gnuplot中的以下命令进行绘图:
plot 'data.csv' using 1:2 title 'John' with lines, '' using 1:3 title 'Sam' with lines
问题是如何从.csv的第一行检索名字而不是手动输入?
另外,如果我在表格中添加一列,是否可以调整它,所以它会自动添加另一行和相应的标题?
答案 0 :(得分:9)
你说你有一个csv文件,所以我假设你的数据文件是这样的(并保存在 infile.csv 中):
n,John Smith stats,Sam Williams stats
1,23.4,44.1
2,32.1,33.5
3,42.0,42.1
如果您的Gnuplot版本足够新,可以使用columnhead
作为title
参数:
echo "
set datafile separator ','
plot 'infile.csv' using 1:2 with lines title columnhead
" | gnuplot --persist
或使用key
选项:
echo "
set datafile separator ','
set key autotitle columnhead
plot 'infile.csv' using 1:2 with lines, '' using 1:3 with lines
" | gnuplot --persist
echo "
set datafile separator ','
set key autotitle columnhead
plot '< sed -r \"1 s/,([^ ]+)[^,]+/,\1/g\" infile.csv' using 1:2 with lines, '' using 1:3 with lines
" | gnuplot --persist
输出:
注意后续问题的this answer也可能相关。