Проблемы с вашим кодом:
- ваши переменные
textInfoRow
и textInfoColumn
и более поздние textRow
и textColumn
. - gnuplot не нравитсядля построения строк, даже если для терминала установлено значение
unknown
.Просто измените свое выражение на (textVar=stringcolumn(textInfoColumn),0)
.Он присваивает значение переменной, но чертит 0
.Проверьте help operators binary
.Выражение (a,b)
является последовательной оценкой.
Также имейте в виду, что gnuplot начинает считать строки с 0
.
Data: "BigDataFile.csv"
(убедитесь, что разделителями являются TAB, StackOverflow преобразовал ихв пространство)
# "Big" data with some header
# another header line
1.000 2.000 3.000 4.000 5.000 6.000 7.000 8.000 9.000 10.00
2.000 0.982 0.755 0.526 0.684 0.090 0.221 0.402 0.594 0.331
3.000 0.119 0.904 0.938 0.960 0.067 0.607 0.368 0.540 0.317
4.000 0.782 0.060 0.163 0.446 0.826 0.503 0.096 0.494 0.949
5.000 0.930 0.703 0.294 0.990 0.919 0.038 0.550 0.467 HERE
6.000 0.346 0.830 0.920 0.285 0.575 0.878 0.747 0.532 0.222
7.000 0.207 0.120 0.709 0.194 0.854 0.501 0.241 0.505 0.123
8.000 0.862 0.479 0.531 0.640 0.259 0.673 0.708 0.559 0.516
9.000 0.979 0.581 0.611 0.664 0.369 0.775 0.808 0.522 0.294
10.00 0.514 0.516 0.780 0.232 0.407 0.718 0.140 0.568 0.619
Вы можете извлечь текстовую ячейку с помощью следующего кода.Я не уверен, является ли это самым быстрым и наиболее эффективным способом, но, по крайней мере, он только для gnuplot и, следовательно, не зависит от платформы и должен бесперебойно работать в Linux, MacOS и Windows.
Код:
### extract one "cell" of data
reset session
dataFileName="BigDataFile.csv"
set datafile separator "\t"
textInfoRow = 5
textInfoColumn = 10
set terminal unknown
plot dataFileName every ::textInfoRow-1::textInfoRow-1 using (textVar=stringcolumn(textInfoColumn),0)
print textVar
### end of code
Результат:
HERE