使用GNUplot对加载的数据执行数学运算

时间:2018-09-20 20:33:06

标签: python bash gnuplot

我正在将Linux与gnuplot结合使用,并希望加载一个简单的两列数据文件,并从一些python代码中进行绘制/保存。

除了教程和示例之后,我没有任何问题,但现在我想对其中一列执行数学运算,例如以该列的log10()为例,以便绘制(例如)(x, log10(y)),其中xy是数据文件中的两列。

这是显示操作方法的完美链接:

How to plot a function of an imported data in gnuplot?

问题是我想使用gnuplot -e ......运行gnuplot的bash脚本,因为我是从Python运行的,所以它立即从脚本中删除了$符号,但并没有。工作。如果我选择不对数据进行转换(按原样保留),它将运行良好,因此所有其他语法都可以。

应该告诉我,我不知道$符号试图传达什么,我认为它与我的操作系统或其他东西有关,而不是gnuplot。这里的任何见解都会很棒。

1 个答案:

答案 0 :(得分:1)

您必须转义$符号,以便外壳程序不尝试执行变量替换。为此,您可以在前面添加反斜杠:

gnuplot -e "plot 'filename.dat' using 1:(log10(\$2))"

应该工作。