Чтение легенды gnuplot из csv
у меня есть сведения.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
вопрос в том, как получить имена из первой строки .КШМ, а не вводить их вручную?
кроме того, можно ли сделать его регулируемым в случае добавления столбца в таблицу, чтобы он автоматически добавлял другую строку с соответствующим заголовком?
1 ответов
вы говорите, что у вас есть файл 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
как :
echo "
set datafile separator ','
plot 'infile.csv' using 1:2 with lines title columnhead
" | gnuplot --persist
или использовать :
echo "
set datafile separator ','
set key autotitle columnhead
plot 'infile.csv' using 1:2 with lines, '' using 1:3 with lines
" | gnuplot --persist
Edit-сокращение заголовков
echo "
set datafile separator ','
set key autotitle columnhead
plot '< sed -r \"1 s/,([^ ]+)[^,]+/,/g\" infile.csv' using 1:2 with lines, '' using 1:3 with lines
" | gnuplot --persist
выход:
Примечание ответ для последующей вопрос также может быть актуальным.