2012-03-29 72 views
1

我目前通过将数组中的值传递到文件并读取它来绘制所有数据。直接在绘图函数中绘制值

是否有可能以某种方式将点直接输入到绘图函数中?

喜欢的东西:plot {{x....}{y....}}

感谢。

回答

3

是的,这是可能的

plot "-" u 1:2 w l 
x1 y1 
x2 y2 
x3 y3 
x4 y4 
e 
+0

这种方法的一个缺点是(就我所能找到的那样),使用replot和这会强制你再次输入数据......即使使用volatile关键字似乎也没有帮助除了将数据发送到临时文件外,我不知道有任何其他方法)。但是,你可以绘制你的数据,设置一些东西,然后发出一个'刷新'来更新你设置的任何东西(网格,标签等)...... – mgilson 2012-03-29 15:39:42

+0

我看到'replot'的情况下的问题,但在我的情况下不会是必要的,无论如何它很高兴知道incase我会使用的功能。现在最重要的事情是跳过将数据复制到文件并绘制它的步骤。 – JavaCake 2012-03-29 16:34:38

+0

我认为'replot'不会成为一个问题,只需写下来以防其他人通过谷歌搜索或其他任何方式绊跌这一点就好了。 – mgilson 2012-03-29 16:41:37

1

这是什么,我有事业上的场合使用......如果处理你的数据是快速,只输出一个数据集和系统支持POPEN,有时它是有道理的让你的处理脚本作为gnuplot的奴隶运行(而不是其他方式)。例如:

#!/usr/bin/env gnuplot 
#This is script is called process_and_plot.gp 
plot "<my_processing_application unprocessed_input.file" u 1:2 w l 

在这种情况下,你可以做你的处理和一个命令获取输出:./process_and_plot.gp ...当然,这种做法是非常严格的(通过命令行参数并不真的没有一些聪明的工作,my_processing_application只能写一个gnuplot数据集到stdout等)。在大多数情况下,你可能会想使用@ RaphaelRoth的答案,我只是想指出你对这个问题的思路稍有不同。

+0

谢谢,我没有考虑过这个选项,但是我很感谢将它添加到我的解决方案组合中。现在@拉斐尔罗斯的解决方案似乎很简单,我很容易实现。 – JavaCake 2012-03-29 16:36:35