Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在gnuplot中调用字符串中的整数_Gnuplot - Fatal编程技术网

如何在gnuplot中调用字符串中的整数

如何在gnuplot中调用字符串中的整数,gnuplot,Gnuplot,我只是想回忆一下字符串中的一个整数,如下所示 x=1 y=4 $Data <<EOD 12 x 22 y EOD print $Data 然而,当我打印$Data时,我很想看到输出,比如 12 1 22 4 我在整数x和y后面使用了$符号,但它不起作用,使用引号也是如此。 有什么办法可以绕过它吗?如果不知道你的总体目标,很难说最好的答案是什么。如果在使用$Data之间不更改x和y的值,则一种解决方案是在写入$Data时扩展x和y,而不是在读取$Data时: set print $

我只是想回忆一下字符串中的一个整数,如下所示

x=1
y=4
$Data <<EOD
12 x
22 y
EOD
print $Data
然而,当我打印$Data时,我很想看到输出,比如

12 1
22 4
我在整数x和y后面使用了$符号,但它不起作用,使用引号也是如此。
有什么办法可以绕过它吗?

如果不知道你的总体目标,很难说最好的答案是什么。如果在使用$Data之间不更改x和y的值,则一种解决方案是在写入$Data时扩展x和y,而不是在读取$Data时:

set print $Data
print sprintf("%d 12", x)
print sprintf("%d 22", y)
unset print

plot $Data using 1:2 with linespoints
如果确实需要从$Data的每一行提取字符串“foo”,并检索具有该名称的变量的当前值:

$Data << EOD
    x 12
    y 22
EOD

x = 3; y = 5
do for [ i=1: |$Data| ] {
    print value(word($Data[i],1)), " ", word($Data[i],2)
}
    3 12
    5 22

非常感谢您的帮助和剪断的代码。目标是检索当前值并将其存储在$Data中,以便我可以使用它们来绘制一些数据。我将修改它以显示plot命令。嗨,Ethan,我不知道何时使用该命令进行绘图,第一个x值始终为0。它正在3 12上绘制0 12。你检查过输出了吗?如果你画出第二个剪下的罐子,你就能看到我在说什么了!是的,在5.2版中引入了将数据块视为字符串的可索引数组
$Data << EOD
    x 12
    y 22
EOD

x = 3; y = 5
do for [ i=1: |$Data| ] {
    print value(word($Data[i],1)), " ", word($Data[i],2)
}
    3 12
    5 22
set dummy not_really_x
plot $Data using (value(strcol(1))) : (column(2)) with linespoints