在 Tk 中使用 Gnuplot 绘图
Plotting with Gnuplot in Tk
我看到一个关于我们如何在 Tk 中使用 Gnuplot 绘制图形的话题 Canvas。以下是来自 Donal Fellows@Donal Fellows 的简单代码示例。有人可以帮我用粗体显示这两个命令吗(set term tk;gnuplot .c)?我不明白这是什么意思 mean.Thanks。
package require Tk
eval [exec gnuplot << "
**set term tk**
plot x*x
"]
pack [canvas .c]
**gnuplot .c**
我不是 gnuplot 的专家,但据了解这 2 个命令非常简单。
set term tk
将值字符串tk赋值给变量term.
gnuplot .c
使用参数 .c.
启动命令 gnuplot
在您的代码中,.c 只是 tk canvas 小部件的名称。
更有趣的是第一个 [exec gnuplot <<...] 执行名为 gnuplot 的外部命令初始化 tk 脚本并定义 tk 命令 gnuplot 用于在 canvas 上绘制绘图。
看起来外部 gnuplot 命令生成 tck 代码来定义所有需要的内容。
当您 运行 终端设置为 tk
的 gnuplot 程序时,它会向其标准输出写入一个 Tcl 脚本,该脚本将创建一个过程.该过程称为 gnuplot
,它有一个参数,即要绘制的 canvas 的名称。因此,我们使用适当的参数调用 gnuplot 程序,让它告诉您如何创建一个真正进行绘图的命令。我们 eval
生成 canvas,并委托给新创建的 gnuplot
命令在 canvas 上进行实际绘图。
这有点奇怪,理论上不安全(如果 gnuplot 被黑了怎么办?!?!?!哦不!)但在实践中实际上工作得很好。
要了解其工作原理,请尝试执行以下操作:
puts [exec gnuplot << "
set term tk
plot x*x
"]
不是评估代码,而是将其打印出来。您会看到它是一个过程定义,以及它究竟是如何工作的。 (唉,我这台电脑上现在还没有安装gnuplot,所以我不能马上给你做检查……)
我看到一个关于我们如何在 Tk 中使用 Gnuplot 绘制图形的话题 Canvas。以下是来自 Donal Fellows@Donal Fellows 的简单代码示例。有人可以帮我用粗体显示这两个命令吗(set term tk;gnuplot .c)?我不明白这是什么意思 mean.Thanks。
package require Tk
eval [exec gnuplot << "
**set term tk**
plot x*x
"]
pack [canvas .c]
**gnuplot .c**
我不是 gnuplot 的专家,但据了解这 2 个命令非常简单。
set term tk
将值字符串tk赋值给变量term.
gnuplot .c
使用参数 .c.
启动命令 gnuplot在您的代码中,.c 只是 tk canvas 小部件的名称。
更有趣的是第一个 [exec gnuplot <<...] 执行名为 gnuplot 的外部命令初始化 tk 脚本并定义 tk 命令 gnuplot 用于在 canvas 上绘制绘图。
看起来外部 gnuplot 命令生成 tck 代码来定义所有需要的内容。
当您 运行 终端设置为 tk
的 gnuplot 程序时,它会向其标准输出写入一个 Tcl 脚本,该脚本将创建一个过程.该过程称为 gnuplot
,它有一个参数,即要绘制的 canvas 的名称。因此,我们使用适当的参数调用 gnuplot 程序,让它告诉您如何创建一个真正进行绘图的命令。我们 eval
生成 canvas,并委托给新创建的 gnuplot
命令在 canvas 上进行实际绘图。
这有点奇怪,理论上不安全(如果 gnuplot 被黑了怎么办?!?!?!哦不!)但在实践中实际上工作得很好。
要了解其工作原理,请尝试执行以下操作:
puts [exec gnuplot << "
set term tk
plot x*x
"]
不是评估代码,而是将其打印出来。您会看到它是一个过程定义,以及它究竟是如何工作的。 (唉,我这台电脑上现在还没有安装gnuplot,所以我不能马上给你做检查……)